• 得到数据库字段信息


    USE database1
    SELECT
      表名  
    = CASE a.colorder WHEN 1 THEN c.name ELSE '' END,
      序    
    = a.colorder,
      字段名
    = a.name,
      标识  
    = CASE COLUMNPROPERTY(a.id,a.name,'IsIdentity') WHEN 1 THEN '' ELSE '' END,
      主键  
    = CASE
       
    WHEN EXISTS (
         
    SELECT *
         
    FROM sysobjects
         
    WHERE xtype='PK' AND name IN (
           
    SELECT name
           
    FROM sysindexes WHERE id=a.id AND indid IN (
             
    SELECT indid
             
    FROM sysindexkeys
             
    WHERE id=a.id AND colid IN (
               
    SELECT colid
               
    FROM syscolumns
               
    WHERE id=a.id AND name=a.name
              )
            )
          )
        )
       
    THEN ''
       
    ELSE ''
     
    END,
      类型  
    = b.name,
      字节数
    = a.length,
      长度  
    = COLUMNPROPERTY(a.id,a.name,'Precision'),
      小数  
    = CASE ISNULL(COLUMNPROPERTY(a.id,a.name,'Scale'),0)
       
    WHEN 0 THEN ''
       
    ELSE CAST(COLUMNPROPERTY(a.id,a.name,'Scale') AS VARCHAR)
     
    END,
      允许空
    = CASE a.isnullable WHEN 1 THEN '' ELSE '' END,
      默认值
    = ISNULL(d.[text],''),
      说明  
    = ISNULL(e.[value],'')
    FROM syscolumns a
     
    LEFT  JOIN systypes      b ON a.xtype=b.xusertype
     
    INNER JOIN sysobjects    c ON a.id=c.id AND c.xtype='U' AND c.name<>'dtproperties'
     
    LEFT  JOIN syscomments   d ON a.cdefault=d.id
     
    LEFT  JOIN sysproperties e ON a.id=e.id AND a.colid=e.smallid
    ORDER BY c.name, a.colorder

     

    上边的代码,在SQL2005中,字段说明sysproperties 不存在. 好像是extends_properties

  • 相关阅读:
    chartControl ViewType.Bar 用法测试
    DevExpress ChartControl ViewType.Line
    全角半角转换
    万能打印 下载
    小程序-登陆
    ASPxGridView 选中主表一行数据,从表自动选中(勾选)对应的行
    ASPxGridView 添加勾选列--全选 和 后端获取勾的行ID
    ASPxGridView 用法
    JS动态创建元素
    年会抽奖 抽奖系统 抽奖软件 C# Winform
  • 原文地址:https://www.cnblogs.com/hanf/p/1717086.html
Copyright © 2020-2023  润新知