[转]判断存储过程触发器视图是否存在并删除
Posted skysowe
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[转]判断存储过程触发器视图是否存在并删除相关的知识,希望对你有一定的参考价值。
看代码应该是SQL Server的,以后再整理MySql的版本
1、判断是否存在addOneArticle这个存储过程 if Exists(select name from sysobjects where NAME = ‘addOneArticle‘ and type=‘P‘) drop procedure addOneArticle 2、判断是否存在countAr这个触发器 if exists(select * from dbo.sysobjects where id = object_id(N‘[dbo].[countAr]‘) and OBJECTPROPERTY(id, N‘IsTrigger‘) = 1) drop trigger countAr 3、判断是否存在View_1这个视图 IF EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME = N‘View_1‘) DROP View View_1 4、判断是否存在USER_Fun这个用户函数 (注意此处的type 有两种,分别是‘TF‘-Table-valued Function 表值函数 或‘FN‘-Scalar-valued Function 标量值函数) if exists(select * from dbo.sysobjects where id = object_id(N‘[dbo].[USER_Fun]‘) and (type = ‘FN‘ or type = ‘TF‘)) DROP FUNCTION USER_Fun 5、判断表‘Tb‘是否存在 if (exists (SELECT * FROM dbo.sysobjects where id = object_id(N‘Tb‘)and OBJECTPROPERTY(id, N‘IsUserTable‘) = 1)) DROP TABLE Tb 6、判断数据库是否存在 if exists( select * from master.dbo.sysdatabases where dbid=db_ID( ‘scbjdb‘ ) ) drop database scbjdb else print ‘no exist scbjdb‘
以上是关于[转]判断存储过程触发器视图是否存在并删除的主要内容,如果未能解决你的问题,请参考以下文章
20180927 SQL server ProcedureT-SQL创建前删除已存在存储过程
数据库基础详解:存储过程、视图、游标、SQL语句优化以及索引