如何在查询分析器中设置命令,打印数据库表的列名、数据类型、长度、是否允许空?
   打印要求:
   1、按数据库表字段排列顺序,每字段一行,每行依次显示该字段的“列名”、“数据类型”、“长度”、“是否允许空”,后面增加一空白列“备注”(该列设置稍长)。
   2、最好以表格形式打印,但非表格形式以行。
   3、打印列表的最上面一行设置以稍大字体显示:表名+“表结构列表:”。
   4、能否设置依次打印数据库所有用户表的结构列表。每个表的“结构列表”后面空二行,再显示下一个表的“结构列表”。
   敬向电脑专家请教,不胜感激!

解决方案 »

  1.   


    select b.name as 表名,a.name as 字段名,c.name as 数据类型,a.length as 长度,a.isnullable 是否允许为空
    from syscolumns a
    inner join sysobjects b on a.id=b.id
    inner join systypes c on a.xtype=c.xtype
    where b.xtype='U'打印和加空行,你自己的考虑
      

  2.   

    SELECT 表名 = OBJECT_NAME(OBJECT_ID),
           字段名 = NAME,
           数据类型 = TYPE_NAME(system_type_id),
           长度 = max_length,
           是否为空 = is_nullable
    FROM   sys.columns s
    WHERE  EXISTS(
               SELECT NULL
               FROM   sys.tables t
               WHERE  t.[object_id] = s.object_id
           )