SQL Server系統表sysobjects介紹

sysobjects 表 
  在數據庫內創建的每個對象(約束、默認值、日誌、規則、存儲過程等)在表中佔一行。只有在 tempdb 內,每個臨時對象纔在該表中佔一行。

sysobjects 表結構:

列名數據類型描述
namesysname對象名,常用列
idint對象標識號
xtypechar(2)對象類型。常用列。xtype可以是下列對象類型中的一種: 
C = CHECK 約束  D = 默認值或 DEFAULT 約束  F = FOREIGN KEY 約束  L = 日誌  FN = 標量函數 
IF = 內嵌表函數   P = 存儲過程   PK = PRIMARY KEY 約束(類型是 K)   RF = 複製篩選存儲過程 
 S = 系統表   TF = 表函數   TR = 觸發器   U = 用戶表   UQ = UNIQUE 約束(類型是 K) 
V = 視圖   X = 擴展存儲過程
uidsmallint所有者用戶對象編號
infosmallint保留。僅限內部使用
statusint保留。僅限內部使用
base_schema_ verint保留。僅限內部使用
 replinfo int保留。供複製使用
 parent_obj int 父對象的對象標識號(例如,對於觸發器或約束,該標識號爲表 ID)。
 crdate datetime 對象的創建日期。
 ftcatid smallint 爲全文索引註冊的所有用戶表的全文目錄標識符,對於沒有註冊的所有用戶表則爲 0
 schema_ver int 版本號,該版本號在每次表的架構更改時都增加。
 stats_schema_ ver int 保留。僅限內部使用。
typechar(2)  對象類型。可以是下列值之一: 
 C = CHECK 約束   D = 默認值或 DEFAULT 約束 F = FOREIGN KEY 約束 
 FN = 標量函數 IF = 內嵌表函數  K = PRIMARY KEY 或 UNIQUE 約束 
 L = 日誌 P = 存儲過程 R = 規則  RF = 複製篩選存儲過程 
S = 系統表  TF = 表函數 TR = 觸發器 U = 用戶表 V = 視圖 X = 擴展存儲過程
 userstatsmallint  保留。
 sysstatsmallint  內部狀態信息
 indexdel smallint 保留
 refdate datetime 留用
 versionint  保留
deltrig int  保留
 instrigint  保留
 updtrigint  保留
 seltrigint  保留
 category int 用於發佈、約束和標識
 cachesmallint  保留

 



以用下面的命令列出感興趣的所有對象:

SELECT * FROM sysobjects WHERE xtype = <type of interest>--例如:查看視圖SELECT * FROM sysobjects WHERE xtype = 'V'

判斷數據庫中是否已經存在某個表,有的話就刪除該表


--方法一:if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[表名]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)drop table [dbo].[表名]
--方法二:if exists (select * from sysobjects where id = object_id(N'表名') and OBJECTPROPERTY(id, N'IsUserTable') = 1)drop table [dbo].[表名]
--方法三:if(Exists(Select * From SysObjects Where xtype='U' And Name='表名')) drop table [dbo].[表名]



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