• 取得数据库表信息的Sql语句


    Sql2000:

    SELECT d.name  N'表名',a.colorder-1 N'字段序号',a.name N'字段名',
     (
    case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then 'Y'else '' end) N'标识',
     (
    case when (SELECT count(*
     
    FROM sysobjects
     
    WHERE (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))))))) AND
            (xtype 
    = 'PK'))>0 then 'Y' else '' end) N'主键',
     b.name N
    '类型',
     a.length N
    '占用字节数',
     
    COLUMNPROPERTY(a.id,a.name,'PRECISION'as N'长度',
     
    isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0as N'小数位数',
     (
    case when a.isnullable=1 then 'Y'else '' end) N'允许空',
     
    isnull(e.text,'') N'默认值',
    convert(varchar(50), isnull(g.[value],'')) AS N'字段说明'

    FROM  syscolumns  a left join systypes b 
    on  a.xtype=b.xusertype
    inner join sysobjects d 
    on a.id=d.id  and  d.xtype='U' and  d.name<>'dtproperties'
    left join syscomments e
    on a.cdefault=e.id
    left join sysproperties g
    on a.id=g.id AND a.colid = g.smallid  
    order by object_name(a.id),a.colorder

     

    SQL2005:

    SELECT d.name  N'表名',a.colorder-1 N'字段序号',a.name N'字段名',
     (
    case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then 'Y'else '' end) N'标识',
     (
    case when (SELECT count(*
     
    FROM sysobjects
     
    WHERE (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))))))) AND
            (xtype 
    = 'PK'))>0 then 'Y' else '' end) N'主键',
     b.name N
    '类型',
     a.length N
    '占用字节数',
     
    COLUMNPROPERTY(a.id,a.name,'PRECISION'as N'长度',
     
    isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0as N'小数位数',
     (
    case when a.isnullable=1 then 'Y'else '' end) N'允许空',
     
    isnull(e.text,'') N'默认值',
    convert(varchar(50), isnull(g.[value],'')) AS N'字段说明'

    FROM  syscolumns  a left join systypes b 
    on  a.xtype=b.xusertype
    inner join sysobjects d 
    on a.id=d.id  and  d.xtype='U' and  d.name<>'dtproperties'
    left join syscomments e
    on a.cdefault=e.id
    left join sys.extended_properties g
    on a.id=g.major_id AND a.colid = g.minor_id  
    order by object_name(a.id),a.colorder


  • 相关阅读:
    用struct定义函数
    三、OCTAVE画图
    二、OCTAVE 移动数据
    SQL复习
    Flink处理迟到的数据
    LeetCode题目学习
    CentOS7安装pycharm
    IntelliJ IDEA 刷题利器 LeetCode 插件
    Redis命令学习
    项目杂记
  • 原文地址:https://www.cnblogs.com/cpine/p/2024676.html
Copyright © 2020-2023  润新知