sqlserver表结构查询
SELECT CASE WHEN a.colorder = 1 THEN d.name ELSE '' END AS 表名,????? CASE WHEN a.colorder = 1 THEN isnull(f.value,'') ELSE '' END AS 表说明,????? a.colorder AS 字段序号,a.name AS 字段名,CASE WHEN COLUMNPROPERTY(a.id,????? a.name,'IsIdentity') = 1 THEN '√' ELSE '' END AS 标识,????? CASE WHEN EXISTS????????? (SELECT 1???????? FROM sysobjects???????? WHERE xtype = 'PK' AND name IN?????????????????? (SELECT name????????????????? FROM sysindexes????????????????? WHERE indid IN??????????????????????????? (SELECT indid?????????????????????????? FROM sysindexkeys?????????????????????????? WHERE id = a.id AND colid = a.colid))) ????? THEN '√' ELSE '' END AS 主键,b.name AS 类型,a.length AS 占用字节数,????? COLUMNPROPERTY(a.id,a.name,'PRECISION') AS 长度,????? ISNULL(COLUMNPROPERTY(a.id,'Scale'),0) AS 小数位数,????? CASE WHEN a.isnullable = 1 THEN '√' ELSE '' END AS 允许空,ISNULL(e.text,'') ????? AS 默认值,ISNULL(g.[value],'') AS 字段说明FROM syscolumns a LEFT OUTER 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 OUTER JOIN????? syscomments e ON a.cdefault = e.id LEFT OUTER JOIN????? sysproperties g ON a.id = g.id AND a.colid = g.smallid LEFT OUTER JOIN????? sysproperties f ON d.id = f.id AND f.smallid = 0ORDER BY a.id,a.colorder (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |