自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

利用三個(gè)SQL視圖查出所有SQL Server數(shù)據(jù)庫字典

數(shù)據(jù)庫 SQL Server
本文主要介紹了使用三個(gè)SQL視圖來查詢SQL Server數(shù)據(jù)庫字典的SQL語句,希望能夠?qū)δ兴鶐椭?/div>

我們知道,數(shù)據(jù)庫字典包括表結(jié)構(gòu)、索引和主鍵、外鍵、約束、視圖、函數(shù)、存儲過程、觸發(fā)器和規(guī)則。本文我們總結(jié)了三個(gè)SQL視圖來查詢數(shù)據(jù)字典的SQL語句示例,利用它可以直接了當(dāng)?shù)夭槌鯯QL2K及SQL2005的所有數(shù)據(jù)字典,方便文檔的編寫,希望對大家有幫助。

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

 

  1. SELECT TOP 100 PERCENT --a.id,  
  2.  
  3. CASE WHEN a.colorder = 1 THEN d.name ELSE '' END AS 表名,  
  4.  
  5. CASE WHEN a.colorder = 1 THEN isnull(f.value, '') ELSE '' END AS 表說明,  
  6.  
  7. a.colorder AS 字段序號, a.name AS 字段名, CASE WHEN COLUMNPROPERTY(a.id,  
  8.  
  9. a.name, 'IsIdentity') = 1 THEN '√' ELSE '' END AS 標(biāo)識,  
  10.  
  11. CASE WHEN EXISTS  
  12.  
  13. (SELECT 1  
  14.  
  15. FROM dbo.sysindexes si INNER JOIN  
  16.  
  17. dbo.sysindexkeys sik ON si.id = sik.id AND si.indid = sik.indid INNER JOIN  
  18.  
  19. dbo.syscolumns sc ON sc.id = sik.id AND sc.colid = sik.colid INNER JOIN  
  20.  
  21. dbo.sysobjects so ON so.name = si.name AND so.xtype = 'PK' 
  22.  
  23. WHERE sc.id = a.id AND sc.colid = a.colid) THEN '√' ELSE '' END AS 主鍵,  
  24.  
  25. b.name AS 類型, a.length AS 長度, COLUMNPROPERTY(a.id, a.name, 'PRECISION')  
  26.  
  27. AS 精度, ISNULL(COLUMNPROPERTY(a.id, a.name, 'Scale'), 0) AS 小數(shù)位數(shù),  
  28.  
  29. CASE WHEN a.isnullable = 1 THEN '√' ELSE '' END AS 允許空, ISNULL(e.text, '')  
  30.  
  31. AS 默認(rèn)值, ISNULL(g.[value], '') AS 字段說明, d.crdate AS 創(chuàng)建時(shí)間,  
  32.  
  33. CASE WHEN a.colorder = 1 THEN d.refdate ELSE NULL END AS 更改時(shí)間  
  34.  
  35. FROM dbo.syscolumns a LEFT OUTER JOIN  
  36.  
  37. dbo.systypes b ON a.xtype = b.xusertype INNER JOIN  
  38.  
  39. dbo.sysobjects d ON a.id = d.id AND d.xtype = 'U' AND  
  40.  
  41. d.status >= 0 LEFT OUTER JOIN  
  42.  
  43. dbo.syscomments e ON a.cdefault = e.id LEFT OUTER JOIN  
  44.  
  45. dbo.sysproperties g ON a.id = g.id AND a.colid = g.smallid AND  
  46.  
  47. g.name = 'MS_Description' LEFT OUTER JOIN  
  48.  
  49. dbo.sysproperties f ON d.id = f.id AND f.smallid = 0 AND  
  50.  
  51. f.name = 'MS_Description' 
  52.  
  53. ORDER BY d.name, a.colorder  
  54.  
  55. SqlServer2005數(shù)據(jù)庫字典--表結(jié)構(gòu).sql  
  56.  
  57. SELECT TOP 100 PERCENT --a.id,  
  58.  
  59. CASE WHEN a.colorder = 1 THEN d.name ELSE '' END AS 表名,  
  60.  
  61. CASE WHEN a.colorder = 1 THEN isnull(f.value, '') ELSE '' END AS 表說明,  
  62.  
  63. a.colorder AS 字段序號, a.name AS 字段名, CASE WHEN COLUMNPROPERTY(a.id,  
  64.  
  65. a.name, 'IsIdentity') = 1 THEN '√' ELSE '' END AS 標(biāo)識,  
  66.  
  67. CASE WHEN EXISTS  
  68.  
  69. (SELECT 1  
  70.  
  71. FROM dbo.sysindexes si INNER JOIN  
  72.  
  73. dbo.sysindexkeys sik ON si.id = sik.id AND si.indid = sik.indid INNER JOIN  
  74.  
  75. dbo.syscolumns sc ON sc.id = sik.id AND sc.colid = sik.colid INNER JOIN  
  76.  
  77. dbo.sysobjects so ON so.name = si.name AND so.xtype = 'PK' 
  78.  
  79. WHERE sc.id = a.id AND sc.colid = a.colid) THEN '√' ELSE '' END AS 主鍵,  
  80.  
  81. b.name AS 類型, a.length AS 長度, COLUMNPROPERTY(a.id, a.name, 'PRECISION')  
  82.  
  83. AS 精度, ISNULL(COLUMNPROPERTY(a.id, a.name, 'Scale'), 0) AS 小數(shù)位數(shù),  
  84.  
  85. CASE WHEN a.isnullable = 1 THEN '√' ELSE '' END AS 允許空, ISNULL(e.text, '')  
  86.  
  87. AS 默認(rèn)值, ISNULL(g.[value], '') AS 字段說明, d.crdate AS 創(chuàng)建時(shí)間,  
  88.  
  89. CASE WHEN a.colorder = 1 THEN d.refdate ELSE NULL END AS 更改時(shí)間  
  90.  
  91. FROM dbo.syscolumns a LEFT OUTER JOIN  
  92.  
  93. dbo.systypes b ON a.xtype = b.xusertype INNER JOIN  
  94.  
  95. dbo.sysobjects d ON a.id = d.id AND d.xtype = 'U' AND  
  96.  
  97. d.status >= 0 LEFT OUTER JOIN  
  98.  
  99. dbo.syscomments e ON a.cdefault = e.id LEFT OUTER JOIN  
  100.  
  101. sys.extended_properties g ON a.id = g.major_id AND a.colid = g.minor_id AND  
  102.  
  103. g.name = 'MS_Description' LEFT OUTER JOIN  
  104.  
  105. sys.extended_properties f ON d.id = f.major_id AND f.minor_id = 0 AND  
  106.  
  107. f.name = 'MS_Description' 
  108.  
  109. ORDER BY d.name, 字段序號 

 

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

 

  1. SELECT TOP 100 PERCENT --a.id,  
  2.  
  3. CASE WHEN b.keyno = 1 THEN c.name ELSE '' END AS 表名,  
  4.  
  5. CASE WHEN b.keyno = 1 THEN a.name ELSE '' END AS 索引名稱, d.name AS 列名,  
  6.  
  7. b.keyno AS 索引順序, CASE indexkey_property(c.id, b.indid, b.keyno, 'isdescending')  
  8.  
  9. WHEN 1 THEN '降序' WHEN 0 THEN '升序' END AS 排序, CASE WHEN p.id IS NULL  
  10.  
  11. THEN '' ELSE '√' END AS 主鍵, CASE INDEXPROPERTY(c.id, a.name, 'IsClustered')  
  12.  
  13. WHEN 1 THEN '√' WHEN 0 THEN '' END AS 聚集, CASE INDEXPROPERTY(c.id,  
  14.  
  15. a.name, 'IsUnique') WHEN 1 THEN '√' WHEN 0 THEN '' END AS ***,  
  16.  
  17. CASE WHEN e.id IS NULL THEN '' ELSE '√' END AS ***約束,  
  18.  
  19. a.OrigFillFactor AS 填充因子, c.crdate AS 創(chuàng)建時(shí)間, c.refdate AS 更改時(shí)間  
  20.  
  21. FROM dbo.sysindexes a INNER JOIN  
  22.  
  23. dbo.sysindexkeys b ON a.id = b.id AND a.indid = b.indid INNER JOIN  
  24.  
  25. dbo.syscolumns d ON b.id = d.id AND b.colid = d.colid INNER JOIN  
  26.  
  27. dbo.sysobjects c ON a.id = c.id AND c.xtype = 'U' LEFT OUTER JOIN  
  28.  
  29. dbo.sysobjects e ON e.name = a.name AND e.xtype = 'UQ' LEFT OUTER JOIN  
  30.  
  31. dbo.sysobjects p ON p.name = a.name AND p.xtype = 'PK' 
  32.  
  33. WHERE (OBJECTPROPERTY(a.id, N'IsUserTable') = 1) AND (OBJECTPROPERTY(a.id,  
  34.  
  35. N'IsMSShipped') = 0) AND (INDEXPROPERTY(a.id, a.name, 'IsAutoStatistics') = 0)  
  36.  
  37. ORDER BY c.name, a.name, b.keyno 

 

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

 

  1. SELECT DISTINCT  
  2.  
  3. TOP 100 PERCENT isnull(p.name,'') AS 父對象, o.xtype,  
  4.  
  5. CASE o.xtype WHEN 'C' THEN 'CHECK 約束' WHEN 'D' THEN '默認(rèn)值或DEFAULT約束'  
  6.  
  7. WHEN 'F' THEN 'FOREIGNKEY約束' WHEN 'L' THEN '日志' WHEN 'FN' THEN '標(biāo)量函數(shù)'  
  8.  
  9. WHEN 'IF' THEN '內(nèi)嵌表函數(shù)' WHEN 'P' THEN '存儲過程' WHEN 'PK' THEN 'PRIMARYKEY約束'  
  10.  
  11. WHEN 'RF' THEN '復(fù)制篩選存儲過程' WHEN 'S' THEN '系統(tǒng)表' WHEN 'TF' THEN '表函數(shù)'  
  12.  
  13. WHEN 'TR' THEN '觸發(fā)器' WHEN 'U' THEN '用戶表' WHEN 'UQ' THEN 'UNIQUE 約束'  
  14.  
  15. WHEN 'V' THEN '視圖' WHEN 'X' THEN '擴(kuò)展存儲過程' WHEN 'R' THEN '規(guī)則' ELSE NULL  
  16.  
  17. END AS 類型, o.name AS 對象名, o.crdate AS 創(chuàng)建時(shí)間, o.refdate AS 更改時(shí)間,  
  18.  
  19. c.text AS 聲明語句,OBJECTPROPERTY(o.id, N'IsMSShipped')  
  20.  
  21. FROM dbo.sysobjects o Left JOIN  
  22.  
  23. dbo.sysobjects p ON o.parent_obj = p.id LEFT OUTER JOIN  
  24.  
  25. dbo.syscomments c ON o.id = c.id  
  26.  
  27. WHERE --(o.xtype IN ('C','D','F','PK','UQ','L','FN','IF','TF','TR','P','R','RF','X','S','U','V')) AND  
  28.  
  29. (OBJECTPROPERTY(o.id, N'IsMSShipped') = 0) AND (isnull(p.name,'') <> N'dtproperties') 

 

關(guān)于使用SQL視圖查詢SQL Server數(shù)據(jù)庫字典的知識就介紹到這里了,希望本次的介紹能夠?qū)δ兴斋@!

【編輯推薦】

  1. SQL Server 2005數(shù)據(jù)庫鏡像相關(guān)知識概述
  2. 一個(gè)SQL Server數(shù)據(jù)庫刪除數(shù)據(jù)集中重復(fù)數(shù)據(jù)的例子
  3. SQLServer 2008 R2數(shù)據(jù)庫SSAS建模及擴(kuò)展能力詳解
  4. 如何用觸發(fā)器實(shí)現(xiàn)記錄數(shù)據(jù)庫表和記錄更改日志的操作
  5. SQL Server數(shù)據(jù)庫使用DBCC ShowContig檢查索引碎片
責(zé)任編輯:趙鵬 來源: 火魔網(wǎng)
相關(guān)推薦

2010-05-14 14:00:59

MySQL數(shù)據(jù)庫優(yōu)化

2010-07-15 17:28:50

SQL Server

2011-08-15 14:29:52

SQL Server數(shù)事務(wù)

2010-09-25 15:37:38

SQL語句

2011-04-02 11:28:10

SQL Server數(shù)報(bào)表數(shù)據(jù)庫快照

2011-09-01 12:42:09

SQL Server創(chuàng)建加密視圖控制視圖頁面的訪問權(quán)限

2010-07-08 11:05:14

SQL Server數(shù)

2010-10-21 14:12:07

SQL Server游

2011-09-01 12:53:02

SQL Server控制視圖頁面的訪問權(quán)限

2021-05-17 06:57:34

SQLServer數(shù)據(jù)庫

2009-03-06 09:42:16

性能索引

2009-03-19 09:44:07

SQL Server數(shù)據(jù)庫遷移數(shù)據(jù)庫

2010-06-30 11:16:50

SQL Server

2011-04-01 17:05:44

SQL Server數(shù)日志

2011-04-29 14:30:23

2010-06-17 12:35:49

SQL Server數(shù)

2011-08-15 15:53:51

SQL Server數(shù)批量操作

2011-03-24 09:45:34

SQL Server數(shù)恢復(fù)

2011-03-24 09:07:11

SQL Server數(shù)備份

2011-03-24 09:24:08

SQL Server數(shù)還原
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號