获取MSSQL数据字典的SQL语句
更新时间:2009年04月09日 11:50:52 作者:
获取MSSQL数据字典的实现方法。
复制代码 代码如下:
CREATE VIEW dbo.vw_db_dictionary
AS
SELECT TOP 100 PERCENT dbo.sysobjects.name AS table_name,
dbo.sysproperties.[value] AS table_desc, dbo.syscolumns.name AS field,
properties.[value] AS field_desc, dbo.systypes.name AS field_type,
dbo.syscolumns.length AS field_size,
ISNULL(COLUMNPROPERTY(dbo.syscolumns.id, dbo.syscolumns.name, 'Scale'), 0)
AS field_precision, dbo.syscolumns.isnullable AS nullable,
CASE WHEN syscomments.text IS NULL
THEN '' ELSE syscomments.text END AS default_value,
CASE WHEN COLUMNPROPERTY(syscolumns.id, syscolumns.name, 'IsIdentity')
= 1 THEN '√' ELSE '' END AS is_identity, 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 is_key
FROM dbo.syscolumns INNER JOIN
dbo.sysobjects ON dbo.sysobjects.id = dbo.syscolumns.id INNER JOIN
dbo.systypes ON dbo.syscolumns.xtype = dbo.systypes.xtype LEFT OUTER JOIN
dbo.sysproperties properties ON dbo.syscolumns.id = properties.id AND
dbo.syscolumns.colid = properties.smallid LEFT OUTER JOIN
dbo.sysproperties ON dbo.sysobjects.id = dbo.sysproperties.id AND
dbo.sysproperties.smallid = 0 LEFT OUTER JOIN
dbo.syscomments ON dbo.syscolumns.cdefault = dbo.syscomments.id
WHERE (dbo.sysobjects.xtype = 'U')
ORDER BY dbo.sysobjects.name
相关文章
将mater库中的系统存储过程批量生成*.sql文件 通用且非常实用
最近因为系统需要,需要将master库的所有和业务相关的存储过程批量生成 存储过程名.sql 文件,默认是不可以导出的2012-05-05
在Windows XP系统安装SQL server 2000 企业版(图解版)
今天在网上下载一个软件,需要使用MS SQL,海波用的是 Windows XP Professional(专业) 版系统,而SQL却是企业版。安装的时候提示我只能安装客户端,服务程序却不能安装。海波在网上搜索到了一些方法,设置成功了2014-07-07
SQL Server的Descending Indexes降序索引实例展示
在涉及多字段排序的复杂查询中,合理使用降序索引可以显著提升SQLServer的查询效率,本文通过构建实际的查询案例,展示了如何在SQLServer中建立并利用降序索引优化查询性能,感兴趣的朋友一起看看吧2024-09-09


最新评论