• 得到当前数据库中所有用户表信息


    SELECT
     (case when a.colorder=1 then d.name else '' end) N'表名',
     a.colorder N'字段序号',
     a.name N'字段名',
     (case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'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 '√' else '' end) N'主键',
     b.name N'类型',
     a.length N'占用字节数',
     COLUMNPROPERTY(a.id,a.name,'PRECISION') as N'长度',
     isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0) as N'小数位数',
     (case when a.isnullable=1 then '√'else '' end) N'允许空',
     isnull(e.text,'') N'默认值',
     isnull(g.[value],'') AS N'字段说明'
    --into ##tx

    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

    ====////sql////
    declare @Sql nvarchar(2000)
    set @Sql=

    'SELECT  '+
    ' (case when a.colorder=1 then d.name else '+char(39)+''+char(39)+' end) N'+char(39)+'表名'+char(39)+', '+
    ' a.colorder N'+char(39)+'字段序号'+char(39)+', '+
    ' a.name N'+char(39)+'字段名'+char(39)+',   '+
    ' (case when COLUMNPROPERTY( a.id,a.name,'+char(39)+'IsIdentity'+char(39)+')=1 then '+char(39)+'√'+char(39)+'else '+char(39)+''+char(39)+' end) N'+char(39)+'标识'+char(39)+', '+
    ' (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 = '+char(39)+'PK'+char(39)+'))>0 then '+char(39)+'√'+char(39)+' else '+char(39)+''+char(39)+' end) N'+char(39)+'主键'+char(39)+', '+
    ' b.name N'+char(39)+'类型'+char(39)+', '+
    ' a.length N'+char(39)+'占用字节数'+char(39)+', '+
    ' COLUMNPROPERTY(a.id,a.name,'+char(39)+'PRECISION'+char(39)+') as N'+char(39)+'长度'+char(39)+', '+
    ' isnull(COLUMNPROPERTY(a.id,a.name,'+char(39)+'Scale'+char(39)+'),0) as N'+char(39)+'小数位数'+char(39)+', '+
    ' (case when a.isnullable=1 then '+char(39)+'√'+char(39)+'else '+char(39)+''+char(39)+' end) N'+char(39)+'允许空'+char(39)+', '+
    ' isnull(e.text,'+char(39)+''+char(39)+') N'+char(39)+'默认值'+char(39)+', '+
    ' isnull(g.[value],'+char(39)+''+char(39)+') AS N'+char(39)+'字段说明'+char(39)+' '+
    --'--into ##tx '+
    ' '+
    'FROM  syscolumns  a left join systypes b  '+
    'on  a.xtype=b.xusertype '+
    'inner join sysobjects d  '+
    'on a.id=d.id  and  d.xtype='+char(39)+'U'+char(39)+' and  d.name<>'+char(39)+'dtproperties'+char(39)+' '+
    'left join syscomments e '+
    'on a.cdefault=e.id '+
    'left join sysproperties g '+
    'on a.id=g.id AND a.colid = g.smallid '

    exec(@Sql)


    ===仅保留表名、字段名、字段类型和字段说明
    declare @Sql nvarchar(2000)
    set @Sql=

    'SELECT  '+
    --' (case when a.colorder=1 then d.name else '+char(39)+''+char(39)+' end) N'+char(39)+'表名'+char(39)+', '+
    '  d.name  N'+char(39)+'表名'+char(39)+', '+
    --' a.colorder N'+char(39)+'字段序号'+char(39)+', '+
    ' a.name N'+char(39)+'字段名'+char(39)+',   '+
    --' (case when COLUMNPROPERTY( a.id,a.name,'+char(39)+'IsIdentity'+char(39)+')=1 then '+char(39)+'√'+char(39)+'else '+char(39)+''+char(39)+' end) N'+char(39)+'标识'+char(39)+', '+
    --' (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 = '+char(39)+'PK'+char(39)+'))>0 then '+char(39)+'√'+char(39)+' else '+char(39)+''+char(39)+' end) N'+char(39)+'主键'+char(39)+', '+
    ' b.name N'+char(39)+'类型'+char(39)+', '+
    --' a.length N'+char(39)+'占用字节数'+char(39)+', '+
    --' COLUMNPROPERTY(a.id,a.name,'+char(39)+'PRECISION'+char(39)+') as N'+char(39)+'长度'+char(39)+', '+
    --' isnull(COLUMNPROPERTY(a.id,a.name,'+char(39)+'Scale'+char(39)+'),0) as N'+char(39)+'小数位数'+char(39)+', '+
    --' (case when a.isnullable=1 then '+char(39)+'√'+char(39)+'else '+char(39)+''+char(39)+' end) N'+char(39)+'允许空'+char(39)+', '+
    --' isnull(e.text,'+char(39)+''+char(39)+') N'+char(39)+'默认值'+char(39)+', '+
    ' isnull(g.[value],'+char(39)+''+char(39)+') AS N'+char(39)+'字段说明'+char(39)+' '+
    --'--into ##tx '+
    ' '+
    'FROM  syscolumns  a left join systypes b  '+
    'on  a.xtype=b.xusertype '+
    'inner join sysobjects d  '+
    'on a.id=d.id  and  d.xtype='+char(39)+'U'+char(39)+' and  d.name<>'+char(39)+'dtproperties'+char(39)+' '+
    'left join syscomments e '+
    'on a.cdefault=e.id '+
    'left join sysproperties g '+
    'on a.id=g.id AND a.colid = g.smallid '

    exec(@Sql)

    连字段说明都去掉
    declare @Sql nvarchar(2000)
    set @Sql=

    'SELECT  '+
    --' (case when a.colorder=1 then d.name else '+char(39)+''+char(39)+' end) N'+char(39)+'表名'+char(39)+', '+
    '  d.name  N'+char(39)+'表名'+char(39)+', '+
    --' a.colorder N'+char(39)+'字段序号'+char(39)+', '+
    ' a.name N'+char(39)+'字段名'+char(39)+',   '+
    --' (case when COLUMNPROPERTY( a.id,a.name,'+char(39)+'IsIdentity'+char(39)+')=1 then '+char(39)+'√'+char(39)+'else '+char(39)+''+char(39)+' end) N'+char(39)+'标识'+char(39)+', '+
    --' (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 = '+char(39)+'PK'+char(39)+'))>0 then '+char(39)+'√'+char(39)+' else '+char(39)+''+char(39)+' end) N'+char(39)+'主键'+char(39)+', '+
    ' b.name N'+char(39)+'类型'+char(39)+' '+
    --' a.length N'+char(39)+'占用字节数'+char(39)+', '+
    --' COLUMNPROPERTY(a.id,a.name,'+char(39)+'PRECISION'+char(39)+') as N'+char(39)+'长度'+char(39)+', '+
    --' isnull(COLUMNPROPERTY(a.id,a.name,'+char(39)+'Scale'+char(39)+'),0) as N'+char(39)+'小数位数'+char(39)+', '+
    --' (case when a.isnullable=1 then '+char(39)+'√'+char(39)+'else '+char(39)+''+char(39)+' end) N'+char(39)+'允许空'+char(39)+', '+
    --' isnull(e.text,'+char(39)+''+char(39)+') N'+char(39)+'默认值'+char(39)+', '+
    --' isnull(g.[value],'+char(39)+''+char(39)+') AS N'+char(39)+'字段说明'+char(39)+' '+
    --'--into ##tx '+
    ' '+
    ' FROM  syscolumns  a left join systypes b  '+
    'on  a.xtype=b.xusertype '+
    'inner join sysobjects d  '+
    'on a.id=d.id  and  d.xtype='+char(39)+'U'+char(39)+' and  d.name<>'+char(39)+'dtproperties'+char(39)+' '+
    'left join syscomments e '+
    'on a.cdefault=e.id '+
    'left join sysproperties g '+
    'on a.id=g.id AND a.colid = g.smallid '

    exec(@Sql)

  • 相关阅读:
    什么是IOC
    spring的作用
    什么是spring框架?
    72
    71
    70
    69
    68
    67
    66
  • 原文地址:https://www.cnblogs.com/jhabb/p/1881463.html
Copyright © 2020-2023  润新知