哪吒2之魔童闹海|哪吒2之魔童归来免费观看|哪吒2在线观看|哪吒2魔童闹海电影免费观看|哪吒2免费观看完整版大电影|哪吒1免费观看完整版

新疆軟件開發(fā)

本站首頁 軟件開發(fā) 成功案例 公司新聞 公司簡介 客服中心 軟件技術(shù) 網(wǎng)站建設(shè)
  您現(xiàn)在的位置: 新疆二域軟件開發(fā)公司 >> 數(shù)據(jù)庫開發(fā) >> 文章正文

三個視圖搞定SqlServer數(shù)據(jù)庫字典

網(wǎng)上有很多SQL SERVER數(shù)據(jù)庫字典的SQL語句,七零八落,我在工作整理了一下思路,總結(jié)SQL代碼如下,只在SQLSERVER2000中測試通過,希望對大家有幫助。

1. SqlServer數(shù)據(jù)庫字典--表結(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 表說明,
      a.colorder AS 字段序號, a.name AS 字段名, CASE WHEN COLUMNPROPERTY(a.id,
      a.name, 'IsIdentity') = 1 THEN '√' ELSE '' END AS 標(biāo)識,
      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 = so.name AND so.xtype = 'PK'
         WHERE sc.id = a.id AND sc.colid = a.colid) THEN '√' ELSE '' END AS 主鍵,
      b.name AS 類型, a.length AS 長度, COLUMNPROPERTY(a.id, a.name, 'PRECISION')
      AS 精度, ISNULL(COLUMNPROPERTY(a.id, a.name, 'Scale'), 0) AS 小數(shù)位數(shù),
      CASE WHEN a.isnullable = 1 THEN '√' ELSE '' END AS 允許空, ISNULL(e.text, '')
      AS 默認(rèn)值, ISNULL(g.[value], '') AS 字段說明, d.crdate AS 創(chuàng)建時間,
      CASE WHEN a.colorder = 1 THEN d.refdate ELSE NULL END AS 更改時間
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 LEFT OUTER JOIN
      dbo.sysproperties f ON d.id = f.id AND f.smallid = 0
ORDER BY d.name, a.colorder
2. SqlServer數(shù)據(jù)庫字典--索引.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 索引名稱, 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)建時間, c.refdate AS 更改時間
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') = 1) AND (OBJECTPROPERTY(a.id,
      N'IsMSShipped') = 0) AND (INDEXPROPERTY(a.id, a.name, 'IsAutoStatistics') = 0)
ORDER BY c.name, a.name, b.keyno
3. SqlServer數(shù)據(jù)庫字典--主鍵.外鍵.約束.視圖.函數(shù).存儲過程.觸發(fā)器.sql
SELECT DISTINCT
      TOP 100 PERCENT o.xtype,
      CASE o.xtype WHEN 'X' THEN '擴(kuò)展存儲過程' WHEN 'TR' THEN '觸發(fā)器' WHEN 'PK' THEN
       '主鍵' WHEN 'F' THEN '外鍵' WHEN 'C' THEN '約束' WHEN 'V' THEN '視圖' WHEN 'FN'
       THEN '函數(shù)-標(biāo)量' WHEN 'IF' THEN '函數(shù)-內(nèi)嵌' WHEN 'TF' THEN '函數(shù)-表值' ELSE '存儲過程'
       END AS 類型, o.name AS 對象名, o.crdate AS 創(chuàng)建時間, o.refdate AS 更改時間,
      c.text AS 聲明語句
FROM dbo.sysobjects o LEFT OUTER JOIN
      dbo.syscomments c ON o.id = c.id
WHERE (o.xtype IN ('X', 'TR', 'C', 'V', 'F', 'IF', 'TF', 'FN', 'P', 'PK')) AND
      (OBJECTPROPERTY(o.id, N'IsMSShipped') = 0)
ORDER BY CASE o.xtype WHEN 'X' THEN '擴(kuò)展存儲過程' WHEN 'TR' THEN '觸發(fā)器' WHEN
       'PK' THEN '主鍵' WHEN 'F' THEN '外鍵' WHEN 'C' THEN '約束' WHEN 'V' THEN '視圖'
       WHEN 'FN' THEN '函數(shù)-標(biāo)量' WHEN 'IF' THEN '函數(shù)-內(nèi)嵌' WHEN 'TF' THEN '函數(shù)-表值'
       ELSE '存儲過程' END DESC

作者:未知 | 文章來源:博客園 | 更新時間:2007-11-9 11:47:37

  • 上一篇文章:

  • 下一篇文章:

  • 相關(guān)文章:
    搜集整理的asp.net的驗(yàn)證方式大全session
    asp,net軟件結(jié)構(gòu)設(shè)計(jì)和相關(guān)的安全性問題
    如何解決Menu菜單被frame遮擋以及iframe自適應(yīng)的問題
    Orcale與Asp.net的端口沖突解決方法
    c#中的interface abstract與virtual學(xué)習(xí)
    如何利用SQL Server進(jìn)行會話狀態(tài)session的保持
    ASP.NET 2.0之Memebership擴(kuò)展應(yīng)用解決方案
    數(shù)據(jù)庫設(shè)計(jì)-數(shù)據(jù)庫的三級模式
    ASP.NET中如何使用unsafe選項(xiàng)
    深入了解數(shù)據(jù)源控件Data Souce controls
    軟件技術(shù)
    · 開發(fā)語言
    · Java技術(shù)
    · .Net技術(shù)
    · 數(shù)據(jù)庫開發(fā)
    最新文章  
    ·Domino平臺的優(yōu)缺點(diǎn)分析
    ·oracle不能連接本地庫的解
    ·使用經(jīng)驗(yàn)整理-TestDirecto
    ·學(xué)習(xí)sqlserver數(shù)據(jù)庫的維度
    ·sqlserver 多用戶并發(fā)中如
    ·丟失日志文件后數(shù)據(jù)庫還能
    ·人工智能在數(shù)據(jù)庫sql語句編
    ·數(shù)據(jù)庫學(xué)習(xí):Oracle應(yīng)用程
    ·基礎(chǔ)知識:軟件測試的要點(diǎn)
    ·技術(shù)文章:sqlserver 2008
    ·SQL Server虛擬內(nèi)存和物理
    ·在MySQL中 describe命令怎
    ·怎樣解決視圖刷新時出現(xiàn)的
    ·如果忘記了MySQL的root用戶
    ·基礎(chǔ)學(xué)習(xí):基于SQL的sysob
    關(guān)于我們 | 軟件開發(fā) | 下載試用 | 客服中心 | 聯(lián)系我們 | 友情鏈接 | 網(wǎng)站地圖 | 新疆電子地圖 | RSS訂閱
    版權(quán)所有 © 2016 新疆二域軟件開發(fā)網(wǎng) www.pg11qqq.com All Rights Reserved 新ICP備14003571號
    新疆軟件開發(fā)總機(jī):0991-4842803、4811639.
    客服QQ:596589785 ;地址:新疆烏魯木齊北京中路華聯(lián)大廈A-5C 郵編:830000