SQL SERVER 删除前判断指定的表或者存储过程是否存在

1、创建存储过程:

 1 CREATE PROCEDURE proc_pr  ---将create修改成alter可以修改存储过程;
 2 AS
 3 BEGIN
 4   IF EXISTS(SELECT * FROM sysobjects WHERE TYPE='U' AND NAME='te')
 5   BEGIN
 6      PRINT '存在要删除的表te';
 7      DROP TABLE te;
 8      PRINT '已经删除表te';
 9   END
10   ELSE
11      PRINT '不存在表te';
12 
13   IF EXISTS(SELECT * FROM sysobjects WHERE TYPE='P' AND NAME='proc_jc')
14   BEGIN
15      PRINT '存在要删除的存储过程proc_jc';
16      DROP PROCEDURE proc_jc;
17      PRINT '已经删除存储过程proc_jc';
18   END
19   ELSE
20      PRINT '不存在存储过程proc_jc';
21 END

2、执行存储过程:

1 EXEC proc_pr;

3、查看存储过程proc_pr是否存在:

1 SELECT * FROM sysobjects WHERE TYPE='P' and name='proc_pr';

4、存储表te是否存在:

1 SELECT * FROM sysobjects WHERE TYPE='U' and name='te';

5、删除存储过程:

1 DROP PROCEDURE proc_pr;

 6、查询所有的存储过程:

1 select * from sysobjects where xtype='P'--查询所有的存储过程
原文地址:https://www.cnblogs.com/lstory/p/6836440.html