您的位置:首页 > 数据库

MsSQL SQLServer 查询 表名,表说明,表字段说明,标识,主键,长度,允许空相关信息

2012-11-28 21:59 471 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐