首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

深入理解 SQL Server 系統表 sysobjects 與資訊結構描述檢視

     編輯:關於SqlServer

sysobjects:資料庫中繼資料核心

所有資料庫物件資訊皆儲於系統表。sysobjects 最實用欄位:

  • name:物件名稱。
  • xtype:物件類型代碼。

常見 xtype 代碼對照表

代碼類型
CCHECK 約束
DDEFAULT 約束
FFOREIGN KEY 約束
LLog
P預存程序
PKPRIMARY KEY 約束
RF複寫篩選預存程序
S系統資料表
TR觸發器
U使用者資料表
UQUNIQUE 約束
V檢視
X擴展預存程序

實用查詢範例

列出特定類型物件

SELECT * FROM sysobjects WHERE xtype = '<type>';

找出所有觸發器及其類型

SELECT
    Sys2.name AS TableName,
    Sys1.name AS TriggerName,
    CASE
        WHEN Sys1.deltrig > 0 THEN 'DELETE'
        WHEN Sys1.instrig > 0 THEN 'INSERT'
        WHEN Sys1.updtrig > 0 THEN 'UPDATE'
    END AS TriggerType
FROM sysobjects Sys1
JOIN sysobjects Sys2 ON Sys1.parent_obj = Sys2.id
WHERE Sys1.xtype = 'TR'
ORDER BY TableName;

SQL Server 2005 建議:改用資訊結構描述檢視

系統檢視將查詢與微軟對系統表的未來變更隔離,更穩健。

列出所有資料表

SELECT TABLE_SCHEMA, TABLE_NAME, TABLE_TYPE
FROM INFORMATION_SCHEMA.TABLES
ORDER BY TABLE_SCHEMA, TABLE_NAME;

列出所有函數與預存程序

SELECT * FROM INFORMATION_SCHEMA.ROUTINES
ORDER BY ROUTINE_TYPE, ROUTINE_NAME;

文件化資料庫的利器

共有 20 種資訊結構描述檢視。無法負擔商業文件工具(Red Gate、Apex)時,善用這些檢視配合少量腳本,即可讓 SQL Server 自動生成資料庫文件。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved