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