SQL Server 2016新特性:DROP IF EXISTS

原创 2016年06月02日 09:38:25


在我们写T-SQL要删除某个对象(表、存储过程等)时,一般会习惯先用IF语句判断该对象是否存在,然后DROP,比如:
旧版本:

IF OBJECT_ID('dbo.PERSON','U') IS NOT NULL
DROP TABLE PERSON

IF EXISTS (SELECT * FROM sys.objects where name = 'PERSON')
DROP TABLE PERSON

SQL Server 2016简化了这一操作,通过下面一句简洁的SQL即可实现:
新版本(SQL Server 2016):

DROP TABLE  IF EXISTS PERSON

DROP IF EXISTS的语法如下:

DROPobject_type IFEXISTSobject_name


能够用于DROP的object_type,如Tables, Database, Function, Trigger, Stored Procedure, Column, User, Type, View, Schema,皆可套用,比如:

ALTER TABLE PERSON
DROP COLUMN If EXISTS NAME

SQL Server判断对象是否存在 (if exists (select * from sysobjects )(转)

1 判断数据库是否存在 Sql代码 if exists (select * from sys.databases where name = ’数据库名’)    drop database ...
  • lygzscnt12
  • lygzscnt12
  • 2012年07月02日 12:28
  • 10828

sqlserver if exists 用法

1 判断数据库是否存在 Sql代码 if exists (select * from sys.databases where name = ’数据库名’)    drop database ...
  • nysynzh
  • nysynzh
  • 2017年02月17日 21:33
  • 2253

DROP TABLE IF EXISTS” in Oracle and SQL Server

“DROP TABLE IF EXISTS” in Oracle and SQL Server In MySQL it is pretty easy to drop a tab...
  • xiaolongwu8666
  • xiaolongwu8666
  • 2013年07月29日 12:41
  • 1426

在MSSQL中等价于Drop table if exists tablename的语句

IF EXISTS(SELECT name FROM test..sysobjects WHERE name = Nperson AND xtype=U) DROP TABLE persongo te...
  • ziyouzai
  • ziyouzai
  • 2007年04月08日 22:16
  • 3462

MySQL DROP TABLE操作以及 DROP 大表时的注意事项

语法: 删表 DROP TABLE Syntax DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ... [RESTR...
  • zyz511919766
  • zyz511919766
  • 2014年10月28日 14:07
  • 28423

利用存储过程实现Oracle的drop table if exists

在Mysql中可以使用[drop table if exists tab_name]来实现目标表的无报错删除,但在Oracle中不支持这样的语法。 要想实现Mysql中简洁明效的功能,可以考虑使用事...
  • BabyFish13
  • BabyFish13
  • 2017年04月07日 15:53
  • 1000

shark执行drop table if exists table XX会报错?

在hive中执行drop table if exists table XX 无论XX表存不存在都能够执行成功。 在shark中执行drop table if exists table XX 当XX表...
  • wangfeinilin
  • wangfeinilin
  • 2014年03月07日 09:42
  • 2047

mysql的CREATE TABLE IF NOT EXISTS 方法

DROP TABLE IF EXISTS `ci_sessions`; CREATE TABLE IF NOT EXISTS `ci_sessions` (    `session_id` VAR...
  • cjh6311882
  • cjh6311882
  • 2012年08月14日 18:03
  • 8605

oracle的drop table if exists

利用存储实现  create or replace procedure proc_dropifexists(      p_table in varchar2  ) is      v_cou...
  • huaishuming
  • huaishuming
  • 2014年07月23日 11:19
  • 15975

删除前先判断指定的表或者存储过程是否存在if exists

ORACLE、SQL SERVER删除前先判断指定的表或者存储过程是否存在if exists
  • S630730701
  • S630730701
  • 2016年09月13日 15:38
  • 2201
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SQL Server 2016新特性:DROP IF EXISTS
举报原因:
原因补充:

(最多只允许输入30个字)