91网首页-91网页版-91网在线观看-91网站免费观看-91网站永久视频-91网站在线播放

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
版主

簡(jiǎn)單的3個(gè)SQL視圖搞定所有SqlServer數(shù)據(jù)庫(kù)字典

tercel
2011年3月15日 12:39 本文熱度 3879
   網(wǎng)上有很多SQL SERVER數(shù)據(jù)庫(kù)字典的SQL語(yǔ)句,七零八落,我在工作整理了一下思路,總結(jié)SQL代碼如下。數(shù)據(jù)庫(kù)字典包括表結(jié)構(gòu)(分2K和2005)、索引和主鍵.外鍵.約束.視圖.函數(shù).存儲(chǔ)過(guò)程.觸發(fā)器.規(guī)則。可以在企業(yè)管理器、查詢(xún)分析器中簡(jiǎn)單執(zhí)行,直接了當(dāng)?shù)牟槌鯯QL2K及SQL2005的所有數(shù)據(jù)字典,方便文檔的編寫(xiě),希望對(duì)大家有幫助。

1. SqlServer2000數(shù)據(jù)庫(kù)字典--表結(jié)構(gòu).sql


SELECT TOP 100 PERCENT --a.id, 
      CASE WHEN a.colorder = 1 THEN d.name ELSE '' END AS 表名, 
      
CASE WHEN a.colorder = 1 THEN isnull(f.value, ''ELSE '' END AS 表說(shuō)明, 
      a.colorder 
AS 字段序號(hào), a.name AS 字段名, CASE WHEN COLUMNPROPERTY(a.id, 
      a.name, 
'IsIdentity'= 1 THEN '' ELSE '' END AS 標(biāo)識(shí), 
      
CASE WHEN EXISTS
          (
SELECT 1
         
FROM dbo.sysindexes si INNER JOIN
               dbo.sysindexkeys sik 
ON si.id = sik.id AND si.indid = sik.indid INNER JOIN
               dbo.syscolumns sc 
ON sc.id = sik.id AND sc.colid = sik.colid INNER JOIN
               dbo.sysobjects so 
ON so.name = si.name AND so.xtype = 'PK'
         
WHERE sc.id = a.id AND sc.colid = a.colid) THEN '' ELSE '' END AS 主鍵, 
      b.name 
AS 類(lèi)型, a.length AS 長(zhǎng)度, COLUMNPROPERTY(a.id, a.name, 'PRECISION'
      
AS 精度, ISNULL(COLUMNPROPERTY(a.id, a.name, 'Scale'), 0AS 小數(shù)位數(shù), 
      
CASE WHEN a.isnullable = 1 THEN '' ELSE '' END AS 允許空, ISNULL(e.text''
      
AS 默認(rèn)值, ISNULL(g.[value]''AS 字段說(shuō)明, d.crdate AS 創(chuàng)建時(shí)間, 
      
CASE WHEN a.colorder = 1 THEN d.refdate ELSE NULL END AS 更改時(shí)間
FROM dbo.syscolumns a LEFT OUTER JOIN
      dbo.systypes b 
ON a.xtype = b.xusertype INNER JOIN
      dbo.sysobjects d 
ON a.id = d.id AND d.xtype = 'U' AND 
      d.status 
>= 0 LEFT OUTER JOIN
      dbo.syscomments e 
ON a.cdefault = e.id LEFT OUTER JOIN
      dbo.sysproperties g 
ON a.id = g.id AND a.colid = g.smallid AND 
      g.name 
= 'MS_Description' LEFT OUTER JOIN
      dbo.sysproperties f 
ON d.id = f.id AND f.smallid = 0 AND 
      f.name 
= 'MS_Description'
ORDER BY d.name, a.colorder


    SqlServer2005數(shù)據(jù)庫(kù)字典--表結(jié)構(gòu).sql


SELECT TOP 100 PERCENT --a.id, 
      CASE WHEN a.colorder = 1 THEN d.name ELSE '' END AS 表名, 
      
CASE WHEN a.colorder = 1 THEN isnull(f.value, ''ELSE '' END AS 表說(shuō)明, 
      a.colorder 
AS 字段序號(hào), a.name AS 字段名, CASE WHEN COLUMNPROPERTY(a.id, 
      a.name, 
'IsIdentity'= 1 THEN '' ELSE '' END AS 標(biāo)識(shí), 
      
CASE WHEN EXISTS
          (
SELECT 1
         
FROM dbo.sysindexes si INNER JOIN
               dbo.sysindexkeys sik 
ON si.id = sik.id AND si.indid = sik.indid INNER JOIN
               dbo.syscolumns sc 
ON sc.id = sik.id AND sc.colid = sik.colid INNER JOIN
               dbo.sysobjects so 
ON so.name = si.name AND so.xtype = 'PK'
         
WHERE sc.id = a.id AND sc.colid = a.colid) THEN '' ELSE '' END AS 主鍵, 
      b.name 
AS 類(lèi)型, a.length AS 長(zhǎng)度, COLUMNPROPERTY(a.id, a.name, 'PRECISION'
      
AS 精度, ISNULL(COLUMNPROPERTY(a.id, a.name, 'Scale'), 0AS 小數(shù)位數(shù), 
      
CASE WHEN a.isnullable = 1 THEN '' ELSE '' END AS 允許空, ISNULL(e.text''
      
AS 默認(rèn)值, ISNULL(g.[value]''AS 字段說(shuō)明, d.crdate AS 創(chuàng)建時(shí)間, 
      
CASE WHEN a.colorder = 1 THEN d.refdate ELSE NULL END AS 更改時(shí)間
FROM dbo.syscolumns a LEFT OUTER JOIN
      dbo.systypes b 
ON a.xtype = b.xusertype INNER JOIN
      dbo.sysobjects d 
ON a.id = d.id AND d.xtype = 'U' AND 
      d.status 
>= 0 LEFT OUTER JOIN
      dbo.syscomments e 
ON a.cdefault = e.id LEFT OUTER JOIN
      sys.extended_properties g 
ON a.id = g.major_id AND a.colid = g.minor_id AND 
      g.name 
= 'MS_Description' LEFT OUTER JOIN
      sys.extended_properties f 
ON d.id = f.major_id AND f.minor_id = 0 AND 
      f.name 
= 'MS_Description'
ORDER BY d.name, 字段序號(hào)


2. SqlServer數(shù)據(jù)庫(kù)字典--索引.sql


SELECT TOP 100 PERCENT --a.id, 
      CASE WHEN b.keyno = 1 THEN c.name ELSE '' END AS 表名, 
      
CASE WHEN b.keyno = 1 THEN a.name ELSE '' END AS 索引名稱(chēng), d.name AS 列名, 
      b.keyno 
AS 索引順序, CASE indexkey_property(c.id, b.indid, b.keyno, 'isdescending'
      
WHEN 1 THEN '降序' WHEN 0 THEN '升序' END AS 排序, CASE WHEN p.id IS NULL 
      
THEN '' ELSE '' END AS 主鍵, CASE INDEXPROPERTY(c.id, a.name, 'IsClustered'
      
WHEN 1 THEN '' WHEN 0 THEN '' END AS 聚集, CASE INDEXPROPERTY(c.id, 
      a.name, 
'IsUnique'WHEN 1 THEN '' WHEN 0 THEN '' END AS 唯一, 
      
CASE WHEN e.id IS NULL THEN '' ELSE '' END AS 唯一約束, 
      a.OrigFillFactor 
AS 填充因子, c.crdate AS 創(chuàng)建時(shí)間, c.refdate AS 更改時(shí)間
FROM dbo.sysindexes a INNER JOIN
      dbo.sysindexkeys b 
ON a.id = b.id AND a.indid = b.indid INNER JOIN
      dbo.syscolumns d 
ON b.id = d.id AND b.colid = d.colid INNER JOIN
      dbo.sysobjects c 
ON a.id = c.id AND c.xtype = 'U' LEFT OUTER JOIN
      dbo.sysobjects e 
ON e.name = a.name AND e.xtype = 'UQ' LEFT OUTER JOIN
      dbo.sysobjects p 
ON p.name = a.name AND p.xtype = 'PK'
WHERE (OBJECTPROPERTY(a.id, N'IsUserTable'= 1AND (OBJECTPROPERTY(a.id, 
      N
'IsMSShipped'= 0AND (INDEXPROPERTY(a.id, a.name, 'IsAutoStatistics'= 0)
ORDER BY c.name, a.name, b.keyno


3. SqlServer數(shù)據(jù)庫(kù)字典--表.視圖.函數(shù).存儲(chǔ)過(guò)程.觸發(fā)器.主鍵.外鍵.約束.規(guī)則.sql


SELECT DISTINCT 
      
TOP 100 PERCENT isnull(p.name,''AS 父對(duì)象, o.xtype, 
      
CASE o.xtype WHEN 'C' THEN 'CHECK 約束' WHEN 'D' THEN '默認(rèn)值或DEFAULT約束'
       
WHEN 'F' THEN 'FOREIGNKEY約束' WHEN 'L' THEN '日志' WHEN 'FN' THEN '標(biāo)量函數(shù)'
       
WHEN 'IF' THEN '內(nèi)嵌表函數(shù)' WHEN 'P' THEN '存儲(chǔ)過(guò)程' WHEN 'PK' THEN 'PRIMARYKEY約束'
       
WHEN 'RF' THEN '復(fù)制篩選存儲(chǔ)過(guò)程' WHEN 'S' THEN '系統(tǒng)表' WHEN 'TF' THEN '表函數(shù)'
       
WHEN 'TR' THEN '觸發(fā)器' WHEN 'U' THEN '用戶(hù)表' WHEN 'UQ' THEN 'UNIQUE 約束'
       
WHEN 'V' THEN '視圖' WHEN 'X' THEN '擴(kuò)展存儲(chǔ)過(guò)程' WHEN 'R' THEN '規(guī)則' ELSE NULL
       
END AS 類(lèi)型, o.name AS 對(duì)象名, o.crdate AS 創(chuàng)建時(shí)間, o.refdate AS 更改時(shí)間, 
      c.
text AS 聲明語(yǔ)句,OBJECTPROPERTY(o.id, N'IsMSShipped')
FROM dbo.sysobjects o Left JOIN
      dbo.sysobjects p 
ON o.parent_obj = p.id LEFT OUTER JOIN
      dbo.syscomments c 
ON o.id = c.id
WHERE --(o.xtype IN ('C','D','F','PK','UQ','L','FN','IF','TF','TR','P','R','RF','X','S','U','V')) AND 
      (OBJECTPROPERTY(o.id, N'IsMSShipped'= 0AND (isnull(p.name,''<> N'dtproperties')
ORDER BY o.xtype DESC






數(shù)據(jù)庫(kù)技術(shù)就是一壇陳年老酒,越久越香,學(xué)以致用。

該文章在 2011/3/15 12:39:18 編輯過(guò)

全部評(píng)論1

Ccoffee
2025年4月14日 10:26
 SELECT 表名 = CASE WHEN a.colorder = 1 THEN d .name ELSE '' END, 字段序號(hào) = a.colorder, 字段名 = a.name, 標(biāo)識(shí) = CASE WHEN COLUMNPROPERTY(a.id, a.name, 'IsIdentity') = 1 THEN '√' ELSE '' END, 類(lèi)型 = b.name, 占用字節(jié)數(shù) = a.length, 長(zhǎng)度 = COLUMNPROPERTY(a.id, a.name, 'PRECISION'), 小數(shù)位數(shù) = isnull(COLUMNPROPERTY(a.id, a.name, 'Scale'), 0), 允許空 = CASE WHEN a.isnullable = 1 THEN '√' ELSE '' END, 默認(rèn)值 = isnull(e.text, ''), 字段說(shuō)明 = 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 dtproperties g ON a.id = g.id AND a.colid = g.id ORDER BY a.id, a.colorder
關(guān)鍵字查詢(xún)
相關(guān)文章
正在查詢(xún)...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專(zhuān)業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車(chē)隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開(kāi)發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類(lèi)企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷(xiāo)售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶(hù)的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 91看n| 日韩免费精品视频 | 伦理电影我不卡87 | 成人午夜视 | 国产欧美二区三区 | 岛国精品免费 | 成人精品一区二区三 | 久事福利资源站在线 | 精品综合欧美 | 国产成+| 区免费在线观看 | 国产在线网站 | 韩国美女| 91蝌蚪91九色 | 日韩中文字幕不卡 | 欧美日韩国产成 | 91精品在线观看 | 海量亚洲欧美色五月 | 国产对白刺激 | 国产91椰子哥高 | 中文字幕日韩经典 | 国产制服丝袜观看 | 国产高清视频一区 | 中文字幕之不卡 | 91福利试看 | 日韩综合网 | 国产91精品一 | 最新国产成人盗摄精品视频 | 国产欧美在线视频免 | 日韩视频怡春院 | 国产欧美日本在 | 日本高清不卡视频 | 日韩AⅤ美女AⅤ视 | 国产又嫩又爽又多水 | 日韩美女乱淫 | 国产亚洲首页 | 国产国产成年在 | 国产亚洲新免费视 | 国产亚洲情侣 | 国产日产欧美一级 | 国产精品你懂得 |