SqlServer查看表结构

SELECT
CASE WHEN col.colorder = 1 THEN obj.name ELSE '' END AS 表名 ,
CASE WHEN col.colorder=1 then isnull(epTwo.value,'') else '' end as 表说明,
col.colorder AS 序号 ,
col.name AS 列名 ,
ISNULL(ep.[value], '') AS 列说明 ,
t.name AS 数据类型 ,
col.length AS 长度 ,
ISNULL(COLUMNPROPERTY(col.id, col.name, 'Scale'), 0) AS 小数位数 ,
CASE WHEN COLUMNPROPERTY(col.id, col.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 = si.name  AND so.xtype = 'PK'  WHERE    sc.id = col.id AND sc.colid = col.colid ) THEN '√'  ELSE ''  END AS 主键 ,
CASE WHEN col.isnullable = 1 THEN '√'  ELSE ''  END AS 允许空  FROM   dbo.syscolumns col  
LEFT  JOIN dbo.systypes t ON col.xtype = t.xusertype  
INNER JOIN dbo.sysobjects obj ON col.id = obj.id  AND obj.xtype = 'U'   AND obj.status >= 0  
LEFT  JOIN sys.extended_properties ep ON col.id = ep.major_id  AND col.colid = ep.minor_id  AND ep.name = 'MS_Description'  
LEFT  JOIN sys.extended_properties epTwo ON obj.id = epTwo.major_id  AND epTwo.minor_id = 0  AND epTwo.name = 'MS_Description'
WHERE  obj.name = 'table'--表名  
ORDER BY obj.name ,col.colorder;
posted @   我是韩一  阅读(305)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了

阅读目录(Content)

此页目录为空

点击右上角即可分享
微信分享提示