[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/

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值