获取SQL Server表字段的各种属性实例代码
2022-11-12 09:43:41
内容摘要
这篇文章主要为大家详细介绍了获取SQL Server表字段的各种属性实例代码,具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记!
代码如下:
--
文章正文
这篇文章主要为大家详细介绍了获取SQL Server表字段的各种属性实例代码,具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记!
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | <code> -- SQL Server 2000 SELECT a.name AS 字段名, CASE WHEN EXISTS (SELECT 1 FROM sysobjects WHERE xtype = 'PK' AND parent_obj = a.id AND name IN (SELECT name FROM sysindexes WHERE indid IN (SELECT indid FROM sysindexkeys WHERE id = a.id AND colid = a.colid))) THEN '1' ELSE '0' END AS 主键, CASE WHEN COLUMNPROPERTY(a.id, a.name, 'IsIdentity' ) = 1 THEN '1' ELSE '0' END AS 标识, b.name AS 类型, a.length AS 占用字节数, COLUMNPROPERTY(a.id, a.name, 'PRECISION' ) AS 长度, a.xscale AS 小数, a.isnullable AS 可空, ISNULL(e.text, '' ) AS 默认值, ISNULL(g.[value], '' ) AS 字段说明 FROM syscolumns a LEFT OUTER JOIN systypes b ON a.xusertype = 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 = 0 WHERE (d.name = '表名称' ) --2。SQL SERVER 2005 SELECT CASE WHEN EXISTS (SELECT 1 FROM sysobjects WHERE xtype = 'PK' AND parent_obj = a.id AND name IN (SELECT name FROM sysindexes WHERE indid IN (SELECT indid FROM sysindexkeys WHERE id = a.id AND colid = a.colid))) THEN '1' ELSE '0' END AS 'key' , CASE WHEN COLUMNPROPERTY(a.id, a.name, 'IsIdentity' ) = 1 THEN '1' ELSE '0' END AS 'identity' , a.name AS ColName, c.name AS TypeName, a.length AS 'byte' , COLUMNPROPERTY(a.id, a.name, 'PRECISION' ) AS 'length' , a.xscale, a.isnullable, ISNULL(e.text, '' ) AS 'default' , ISNULL(p.value, '' ) AS 'comment' FROM sys.syscolumns AS a INNER JOIN sys.sysobjects AS b ON a.id = b.id INNER JOIN sys.systypes AS c ON a.xtype = c.xtype LEFT OUTER JOIN sys.syscomments AS e ON a.cdefault = e.id LEFT OUTER JOIN sys.extended_properties AS p ON a.id = p.major_id AND a.colid = p.minor_id WHERE (b.name = 'keyfactory' ) AND (c.status <> '1' ) --b.name = 'Keyfactory' , 'Keyfactory' 为你想要查找的数据表。 --2、SQL SERVER 2005 SELECT CASE WHEN EXISTS (SELECT 1 FROM sysobjects WHERE xtype = 'PK' AND parent_obj = a.id AND name IN (SELECT name FROM sysindexes WHERE indid IN (SELECT indid FROM sysindexkeys WHERE id = a.id AND colid = a.colid))) THEN '1' ELSE '0' END AS 'key' , CASE WHEN COLUMNPROPERTY(a.id, a.name, 'IsIdentity' ) = 1 THEN '1' ELSE '0' END AS 'identity' , a.name AS ColName, c.name AS TypeName, a.length AS 'byte' , COLUMNPROPERTY(a.id, a.name, 'PRECISION' ) AS 'length' , a.xscale, a.isnullable, ISNULL(e.text, '' ) AS 'default' , ISNULL(p.value, '' ) AS 'comment' FROM sys.syscolumns AS a INNER JOIN sys.sysobjects AS b ON a.id = b.id INNER JOIN sys.systypes AS c ON a.xtype = c.xtype LEFT OUTER JOIN sys.syscomments AS e ON a.cdefault = e.id LEFT OUTER JOIN sys.extended_properties AS p ON a.id = p.major_id AND a.colid = p.minor_id WHERE (b.name = 'keyfactory' ) AND (c.status <> '1' ) --b.name = 'Keyfactory' , 'Keyfactory' 为你想要查找的数据表。 </code> |
注:关于获取SQL Server表字段的各种属性实例代码的内容就先介绍到这里,更多相关文章的可以留意
代码注释