当前位置: 首页 > 图文教程 > 数据库 > MSSQL > 获取MSSQL数据字典的SQL语句

MSSQL
SQLServer 批量插入数据的两种方法
SQLServer 通用的分区增加和删除的算法
数据库的一些常用知识
SQLServer 连接异常与解决方法小结
sqlserver 无法验证产品密匙的完美解决方案[测试通过]
sql2000 卸载后重新安装时不能安装的解决办法
SQLServer 快速备份的十种方法
sqlserver 中一些常看的指标和清除缓存的方法
SQL 提权 常用命令
数据转换冲突及转换过程中大对象的处理
SQLServer 数据库开发顶级技巧
远程连接SQLSERVER 2000服务器方法
SQLserver2000 企业版 出现"进程51发生了严重的异常"错误的处理方法
SQLServer 触发器 数据库进行数据备份
SQLServer 数据库备份过程中经常遇到的九种情况
SQL 截取字符串应用代码
除MSSQL数据库text字段中恶意脚本的删方法
SQLServer CONVERT 函数测试结果
SQLServer 中.与::的区别
SQL 研究 相似的数据类型

获取MSSQL数据字典的SQL语句


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 115 ::
收藏到网摘: n/a

获取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