SQL Server系統表sysobjects介紹

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

sysobjects 表結構:架構

列名 數據類型 描述
name sysname 對象名,經常使用列
id int 對象標識號
xtype char(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 = 擴展存儲過程
uid smallint 全部者用戶對象編號
info smallint 保留。僅限內部使用
status int 保留。僅限內部使用
base_schema_ ver int 保留。僅限內部使用
 replinfo  int 保留。供複製使用
 parent_obj  int  父對象的對象標識號(例如,對於觸發器或約束,該標識號爲表 ID)。
 crdate  datetime  對象的建立日期。
 ftcatid  smallint  爲全文索引註冊的全部用戶表的全文目錄標識符,對於沒有註冊的全部用戶表則爲 0
 schema_ver  int  版本號,該版本號在每次表的架構更改時都增長。
 stats_schema_ ver  int  保留。僅限內部使用。
type char(2)   對象類型。能夠是下列值之一: 
 C = CHECK 約束   D = 默認值或 DEFAULT 約束 F = FOREIGN KEY 約束 
 FN = 標量函數 IF = 內嵌表函數  K = PRIMARY KEY 或 UNIQUE 約束 
 L = 日誌 P = 存儲過程 R = 規則  RF = 複製篩選存儲過程 
S = 系統表  TF = 表函數 TR = 觸發器 U = 用戶表 V = 視圖 X = 擴展存儲過程
 userstat smallint   保留。
 sysstat smallint   內部狀態信息
 indexdel  smallint  保留
 refdate  datetime  留用
 version int   保留
deltrig  int   保留
 instrig int   保留
 updtrig int   保留
 seltrig int   保留
 category  int  用於發佈、約束和標識
 cache smallint   保留

 



以用下面的命令列出感興趣的全部對象:
ide

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].[表名]
相關文章
相關標籤/搜索