可利用sysobjects表中记录配合OBJECTPROPERTY函数来判断指定的存储过程是否存在。
比如我们要判断存储过程storage_summary是否存在:
if exists (select 1 from dbo.sysobjects where id = object_id(N'[storage_summary]' and xtype='p') and OBJECTPROPERTY(object_id(N'[storage_summary]'), N'IsProcedure') = 1)
drop procedure [dbo].[storage_summary]
go
sysobjects表大家可能很熟悉了,但OBJECTPROPERTY函数可能会比较陌生,下面我们对OBJECTPROPERTY函数简单介绍一下:
OBJECTPROPERTY函数是用来返回当前数据库中架构范围内的对象的有关信息
语法:OBJECTPROPERTY ( id , property )
当proerty等于IsProcedure时,返回指定的id是否为存储过程
返回值:
1 = True
0 = False鯪剉輯)