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

4es*_*est 0 sql sql-server exists create-table

你知道为什么下面的代码在ms sql server上是错误的吗?

DROP TABLE [IF EXISTS] database.table1,
create table table1 (...)
Run Code Online (Sandbox Code Playgroud)

Pra*_*mar 5

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

有点像这样:

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