SQL SERVER 刪除前先判斷指定的表或者儲存過程是否存在
阿新 • • 發佈:2019-02-10
1、建立儲存過程:
CREATE PROCEDURE proc_pr ---將create修改成alter可以修改儲存過程;
AS
BEGIN
IF EXISTS(SELECT * FROM sysobjects WHERE TYPE='U' AND NAME='te')
BEGIN
PRINT '存在要刪除的表te';
DROP TABLE te;
PRINT '已經刪除表te';
END
ELSE
PRINT '不存在表te';
IF EXISTS(SELECT * FROM sysobjects WHERE TYPE='P' AND NAME='proc_jc')
BEGIN
PRINT '存在要刪除的儲存過程proc_jc';
DROP PROCEDURE proc_jc;
PRINT '已經刪除儲存過程proc_jc';
END
ELSE
PRINT '不存在儲存過程proc_jc';
END
2、執行儲存過程:
EXEC proc_pr;
3、檢視儲存過程proc_pr是否存在:
SELECT * FROM sysobjects WHERE TYPE='P' and name='proc_pr';
4、儲存表te是否存在:
SELECT * FROM sysobjects WHERE TYPE='U' and name='te';
5、刪除儲存過程;
DROP PROCEDURE proc_pr;