SELECT TOP(100) PERCENT --a.id, d.name AS 表名, CASE WHEN a.colorder = 1 THEN ISNULL(f.value, '') ELSE '' END AS 表说明, ISNULL(g.value, '') AS 字段说明, a.name AS 字段名, b.name AS 类型
,case
when lower( b.name) = 'timestamp' then
'√'
else
''
end as 时间戳
,CASE WHEN COLUMNPROPERTY(a.id, a.name, 'IsIdentity') = 1 THEN '√' ELSE '' END AS 标识, CASE WHEN EXISTS ( SELECT 1 FROM dbo.sysindexes si INNER JOIN dbo.sysindexkeys sik ON si.id = sik.id AND si.indid = sik.indid INNER JOIN dbo.syscolumns sc ON sc.id = sik.id AND sc.colid = sik.colid INNER JOIN dbo.sysobjects so ON so.name = so.name AND so.xtype = 'PK' WHERE sc.id = a.id AND sc.colid = a.colid ) THEN '√' ELSE '' END AS 主键, a.length AS 长度, CASE WHEN a.isnullable = 1 THEN '√' ELSE '' END AS 允许空 FROM dbo.syscolumns AS a LEFT OUTER JOIN dbo.systypes AS b ON a.xtype = b.xusertype INNER JOIN dbo.sysobjects AS d ON a.id = d.id AND d.xtype = 'U' AND d.status >= 0 LEFT OUTER JOIN dbo.syscomments AS e ON a.cdefault = e.id LEFT OUTER JOIN sys.extended_properties AS g ON a.id = g.major_id AND a.colid = g.minor_id LEFT OUTER JOIN sys.extended_properties AS f ON d.id = f.major_id AND f.minor_id = 0 -----------WHERE g.value<>'' 可以自己写条件,对应好上面的表名就可以了. where d.name = 'po_pomain' ORDER BY d.name