SQL SERVER判断表、视图、 存储过程、函数是否已建立再删除的方法

1.表

本博标题【SQL Server数据库已存在表,如何判断删除表后再重建的方法】已撰写
- 方法1
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N’表名’) AND type in (N’U’))
DROP TABLE 表名

--是否存在A_CMD的表
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'A_CMD') AND type in (N'U'))
BEGIN
   --存在则删除
   DROP TABLE A_CMD
END

- 方法2

--是否存在A_CMD的表
IF EXISTS(SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'A_CMD' --表名
                                                    AND TABLE_SCHEMA = 'dbo' 
                                                    AND TABLE_CATALOG ='TESTDB') --数据库名
 --存在则删除
 DROP TABLE A_CMD
————————————————
版权声明:本文为CSDN博主「迪丽热爱」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lovemelovefish/article/details/123222390

2.视图

三个语句均可以使用~
SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N’X_VW’) AND TYPE IN (N’V’)

SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N’X_VW’) AND OBJECTPROPERTY(object_id, N’IsVIEW’) = 1

SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME = ‘X_VW’ --视图名
AND TABLE_SCHEMA = ‘dbo’
AND TABLE_CATALOG =‘ZSASRS’–数据库名

----------方法1-----------------------
--是否存在X_VW的视图
IF EXISTS(SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'X_VW') AND TYPE IN (N'V'))
--删除X_VW的视图
DROP  VIEW X_VW
----------方法2-----------------------
IF EXISTS(SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'X_VW') AND  OBJECTPROPERTY(object_id, N'IsVIEW') = 1)
DROP  VIEW X_VW
----------方法3-----------------------
IF EXISTS(SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME = 'X_VW' --视图名
                                                    AND TABLE_SCHEMA = 'dbo' 
                                                    AND TABLE_CATALOG ='ZSASRS'--数据库名
                                                    )
DROP  VIEW X_VW                                                   

在这里插入图片描述

3.存储过程

两个语句均可以~
SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N’存储过程名’) AND TYPE IN (N’P’)

SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N’存储过程名’) AND OBJECTPROPERTY(object_id, N’IsProcedure’) = 1

----------方法1-----------------------
--是否存在A_X_SP的存储过程
IF EXISTS(SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'A_X_SP') AND TYPE IN (N'P'))
--删除A_X_SP存储过程
DROP  PROCEDURE A_X_SP

----------方法2--------------------
--是否存在A_X_SP的存储过程
IF EXISTS(SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'A_X_SP') AND  OBJECTPROPERTY(object_id, N'IsProcedure') = 1)
--删除A_X_SP存储过程
DROP  PROCEDURE A_X_SP

在这里插入图片描述

4.函数

函数比照上方,使用FUNCTION 即可!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值