在一个命令中删除并创建表

时间:2016-03-10 14:09:54

标签: sql sql-server exists create-table

你知道ms sql server下面代码出错的原因吗?

DROP TABLE [IF EXISTS] database.table1,
create table table1 (...)

2 个答案:

答案 0 :(得分:3)

此语法仅在SQL Server 2016上有效,尚未发布。

您确定使用的是该版本吗? 否则,您可以使用@pradeep-kumar suggests

的IF存在

答案 1 :(得分:2)

SQL Server 2016语法。 对于早期版本,您可以使用EXISTS函数检查您的表是否存在于sys.tables列表中,如果存在则将其删除。然后创建一个新表。

有点像这样:

IF EXISTS (SELECT * FROM sys.tables WHERE name = 'table1' AND type = 'U') DROP TABLE table1;
CREATE TABLE table1
(
    ...
    ...
);