[SQL Server] sysobjects的介紹

Posted pyleu1028

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[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   保留

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

可用where條件命令列出所感興趣的對象:

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 ] . [ 表名]

註: N‘‘代表Unicode類型.可以支持不同語種的對象名

 

 

 

以上是关于[SQL Server] sysobjects的介紹的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server系统表sysobjects介绍与使用(转))

使用 sysobjects 表中的表名创建 Sql Server 视图

SQL Server 系统表 sysobjects中xtype和type区别

SQL Server系统表sysobjects介绍与使用

SQL Server系统表sysobjects介绍与使用

sql server 2000 错误229 拒绝了对象sysobjects 的select 权限