SQL Server-一次删除具有IF EXISTS的多列
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server-一次删除具有IF EXISTS的多列相关的知识,希望对你有一定的参考价值。
SQL Server支持允许一次删除多个列的语法。 How to DROP multiple columns with a single ALTER TABLE statement in SQL Server?
尽管似乎不可能在每次出现时都强制它以IF EXISTS
类别工作。
DROP | COLUMN [ IF EXISTS ] { column_name } [ ,...n ]
仅当列或约束已经存在时,才有条件地删除它。
示例:
CREATE TABLE t(i INT, col1 INT, col2 INT);
ALTER TABLE t DROP COLUMN IF EXISTS col1, col2;
-- col1, col2 were successfully removed
ALTER TABLE t DROP COLUMN IF EXISTS col1, col2;
-- Msg 4924 Level 16 State 1 Line 1
-- ALTER TABLE DROP COLUMN failed because column 'col2' does not exist in table 't'.
基于错误消息IF EXISTS
仅对第一列有效。
一次与多列组合时,此子句是否有限制?
答案
语法有点麻烦,但是
ALTER TABLE t DROP COLUMN IF EXISTS col1,
COLUMN IF EXISTS col2;
工作正常
以上是关于SQL Server-一次删除具有IF EXISTS的多列的主要内容,如果未能解决你的问题,请参考以下文章
SQL中多分支If语句的性能(Sql Server 2008)
删除表如果它存在于 Oracle (IF EXIST) [重复]
SQLite 判断表存在/删除表/创建表及if not exist插入数据
Error Fix – Replication subscriber does not exist on the server anymore(删除Replication时报错的解决办法)