看你知道不知道之-制作数据字典
生活随笔
收集整理的這篇文章主要介紹了
看你知道不知道之-制作数据字典
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這部分內容和VB6的關系不大,但是確是困擾我的一個問題。
這幾天在整理數據字典,以前的辦法是用Excel來制作,一個一個的填寫特別麻煩,制作到好說,關鍵就是一旦結果變更了,改來改去的麻煩死了。
后來改用數據庫關系圖來制作打印出來,看著還是那么回事情,但是表格的排序和查找太麻煩了,到底有沒有好的辦法呢?
當然有了,實際上在SqlServer中利用Sql語句就可以實現數據字典,但是就怕不知道。
代碼如下:
USE?DBNAME
SELECT?
表名?=?CASE?WHEN?a.colorder=1?THEN?d.name?ELSE?''?END,?
--字段序號=a.colorder,?
字段名=a.name,?
字段說明=ISNULL(g.[value],''),
--標識=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,'')
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?sysproperties?g?on?a.id=g.id?
?????AND?a.colid=g.smallid??
?????ORDER?BY?d.name,a.id,a.colorder?
GO
呵呵,一切搞定。
相關資料:
如何獲取MSSQLServer,Oracel,Access中的數據字典信息 # 用Sql語句生成Sqlserver數據字典 # 使用SQL語句查詢SQLServer字段的描述信息 #
轉載于:https://www.cnblogs.com/Duiker/archive/2006/02/10/328557.html
總結
以上是生活随笔為你收集整理的看你知道不知道之-制作数据字典的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ASP函数详解
- 下一篇: C#面向对象设计模式纵横谈——Singl