[MSSQL]SQL Server OBJECT_ID用法-判断对象是否存在

来源:转载

OBJECT_ID ( ‘[ database_name . [ schema_name ] . | schema_name . ] object_name’ [ ,’object_type’ ] )

当指定临时表名时,除非当前数据库为 tempdb,否则必须在该临时表名之前加上数据库名称。例如:SELECT OBJECT_ID(‘tempdb..#mytemptable’)。

object_type 对象类型:

AF = 聚合函数 (CLR)

C = CHECK 约束

D = DEFAULT(约束或独立)

F = FOREIGN KEY 约束

PK = PRIMARY KEY 约束

P = SQL 存储过程

PC = 程序集 (CLR) 存储过程

FN = SQL 标量函数

FS = 程序集 (CLR) 标量函数

FT = 程序集 (CLR) 表值函数

R = 规则(旧式,独立)

RF = 复制筛选过程

SN = 同义词

SQ = 服务队列

TA = 程序集 (CLR) DML 触发器

TR = SQL DML 触发器

IF = SQL 内联表值函数

TF = SQL 表值函数

U = 表(用户定义类型)

UQ = UNIQUE 约束

V = 视图

X = 扩展存储过程

IT = 内部表

1、判断临时表是否存在

if object_id(‘tempdb..#q’,’U’) is not null

drop table #q

go

2、判断表是否存在

if object_id(‘AdventureWorks.dbo.q’,’U’) is not null

drop table dbo.q

go

IF EXISTS

(SELECT * FROM SYSOBJECTS WHERE ID = OBJECT_ID(N’T1’) AND OBJECTPROPERTY(ID, N’ISUSERTABLE’) = 1)

DROP TABLE dbo.T1;

3、判断存储过程是否存在

IF OBJECT_ID ( ‘AdventureWorks.dbo.usp_GetErrorInfo’, ‘P’ ) IS NOT NULL

DROP PROCEDURE dbo.usp_GetErrorInfo;

GO

来自:http://blog.itpub.net/10527166/viewspace-683320/



分享给朋友:
您可能感兴趣的文章:
随机阅读: