數據庫中會經常用到的系統表

1.sysobjects


  在數據庫中創建的每個對象(例如約束、默認值、日誌、規則以及存儲過程)都對應一行。


  常規用法:select * from sysobjects where id= object_id('TableName') and type = 'U' 查找表TableName的信息


  更多參考http://msdn.microsoft.com/zh-cn/library/ms177596.aspx


2.syscolumns


  爲每個表和視圖中的每列返回一行,併爲數據庫中的存儲過程的每個參數返回一行。


  常規用法:select * from syscolumns where id = object_id('TableName') 查找表TableName的列信息


  更多參考http://msdn.microsoft.com/zh-cn/library/ms186816.aspx


3.systypes


  爲數據庫中定義的每種系統提供的數據類型和每種用戶定義的數據類型返回一行。


  常規用法:select * from SysTypes where xtype = 167 查找某個列的數據類型


  更多參考http://msdn.microsoft.com/zh-cn/library/ms175109.aspx


對於用戶數和角色數超過32767,用上面3個表可能會造成溢出或返回null,爲了避免可以參考http://msdn.microsoft.com/zh-cn/library/ms187376.aspx


C:檢查約束。

D:默認的約束

F:外鍵約束

L:日誌

P:存儲過程

PK:主鍵約束

RF:複製過濾存儲過程

S:系統表格

TR:觸發器

U:用於表格。

UQ:獨特的約束。

V:視圖

X:被擴展的存儲過程


在碰到觸發器的情形下,用來識別觸發器類型的其他三個列是:deltrig、instrig和uptrig。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章