zoukankan      html  css  js  c++  java
  • 使用SQL生成指定数据库的数据字典(MSSQL)

    USE DBNAME --指定要生成数据字典的数据库
    
    GO
    SELECT
    	表名=
    CASE
    		
    		WHEN a.colorder= 1 THEN
    		d.name ELSE '' 
    	END, 表说明=
    CASE
    	
    	WHEN a.colorder= 1 THEN
    	isnull( f.value, '' ) ELSE '' 
    	END, 字段序号= a.colorder, 字段名= a.name, 标识=
    CASE
    	
    	WHEN COLUMNPROPERTY( a.id, a.name, 'IsIdentity' ) = 1 THEN
    	'√' ELSE '' 
    	END, 主键=
    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, 
    	类型= b.name, 
    	占用字节数= a.length, 
    	长度= COLUMNPROPERTY( a.id, a.name, 'PRECISION' ), 
    	小数位数= isnull( COLUMNPROPERTY( a.id, a.name, 'Scale' ), 0 ), 
    	允许空=CASE
    		
    		WHEN a.isnullable= 1 THEN
    		'√' ELSE '' 
    	END, 
    	默认值= isnull( e.text, '' ), 
    	字段说明= isnull( g.[value], '' ) 
    FROM
    	syscolumns a
    	LEFT 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 JOIN syscomments e ON a.cdefault= e.id
    	LEFT JOIN sys.extended_properties g ON a.id= g.major_id 
    	AND a.colid= g.minor_id
    	LEFT JOIN sys.extended_properties f ON d.id= f.major_id 
    	AND f.minor_id = 0 
    --where d.name='要查询的表' --如果只查询指定表,加上此条件
    ORDER BY
    	a.id,
    	a.colorder
  • 相关阅读:
    MySQL初始化以及更改密码
    对付小白的ARP的简单介绍
    PXE批量安装CentOS7操作系统
    20不惑
    辩论会
    学习
    JAVA语言的特点
    程序流程图对新手来说很重要。
    浅谈博客、微博与轻博客的区别与联系
    要学好JAVA要注意些什么?
  • 原文地址:https://www.cnblogs.com/ykbb/p/11946967.html
Copyright © 2011-2022 走看看