获取MS SQL库数据字典

本文提供了一段SQL查询语句,用于从SQL Server中检索表的详细元数据,包括表名、字段名、数据类型、字段说明等信息,并能够筛选出用户表。
SELECT sysobjects.name AS [table], sysproperties.[value] AS 表说明, 
      syscolumns.name 
AS field, properties.[value] AS 字段说明, systypes.name AS type, 
      syscolumns.length, 
ISNULL(COLUMNPROPERTY(syscolumns.id, syscolumns.name, 
      
'Scale'), 0AS 小数位数, syscolumns.isnullable AS isnull
      
CASE WHEN syscomments.text IS NULL 
      
THEN '' ELSE syscomments.text END AS [Default]
      
CASE WHEN COLUMNPROPERTY(syscolumns.id, syscolumns.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 = syscolumns.id AND colid = syscolumns.colid))) 
      
THEN '' ELSE '' END AS 主键
FROM syscolumns INNER JOIN
      sysobjects 
ON sysobjects.id = syscolumns.id INNER JOIN
      systypes 
ON syscolumns.xtype = systypes.xtype LEFT OUTER JOIN
      sysproperties properties 
ON syscolumns.id = properties.id AND 
      syscolumns.colid 
= properties.smallid LEFT OUTER JOIN
      sysproperties 
ON sysobjects.id = sysproperties.id AND 
      sysproperties.smallid 
= 0 LEFT OUTER JOIN
      syscomments 
ON syscolumns.cdefault = syscomments.id
WHERE (sysobjects.xtype = 'U'
 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值