Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 在一个命令中拖放和创建表_Sql_Sql Server_Exists_Create Table - Fatal编程技术网

Sql 在一个命令中拖放和创建表

Sql 在一个命令中拖放和创建表,sql,sql-server,exists,create-table,Sql,Sql Server,Exists,Create Table,您知道为什么下面的代码在ms sql server上是错误的吗 DROP TABLE [IF EXISTS] database.table1, create table table1 (...) 这就是SQL Server 2016的语法。 对于早期版本,您可以使用EXISTS功能检查您的表是否存在于sys.tables列表中,如果存在,则将其删除。然后创建一个新表 有点像这样: IF EXISTS (SELECT * FROM sys.tables WHERE name = 'table1'

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

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

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

有点像这样:

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

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

有点像这样:

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

此语法仅在上有效,尚未发布

您确定正在使用该版本吗?
否则,您可以使用IF Exists that.

此语法仅在上有效,尚未发布

您确定正在使用该版本吗?
否则,您可以使用IF-Exists。

如果您不介意我问一下,您会使用什么样的场景?这些命令的结果基本上是一个
truncate
?你有错误吗?请花些时间阅读。@Utsav是否正在更改现有表的架构?@MorganThrapp-是的,这可能是一个场景。
开始尝试
/
结束尝试
创建表
内部…如果您不介意我问一下,您会使用它作为什么场景?这些命令的结果基本上是一个
truncate
?你有错误吗?请花一些时间阅读。@Utsav是否更改现有表的架构?@MorganThrapp-是的,这可能是一个场景。
开始尝试
/
结束尝试
创建表
内部…对于不熟悉的人-实际上是技术上的(还记得你问过“你知道为什么下面的代码在ms sql server上是错误的吗?”),虽然这是有帮助的,但它不应该是公认的答案。它不起作用,因为您试图在运行的任何SQL Server版本中使用SQL Server 2016语法。由于
SQL Server 2016
尚未上市,因此可以安全地假设他使用的是以前版本的SQL Server;这就是我的答案。无论如何,我现在编辑了我的答案,以反映正确的含义。对于不熟悉的人——实际上是技术上的(还记得你问过“你知道为什么下面的代码在ms sql server上是错误的吗?”),虽然这很有帮助,但它不应该是公认的答案。它不起作用,因为您试图在运行的任何SQL Server版本中使用SQL Server 2016语法。由于
SQL Server 2016
尚未上市,因此可以安全地假设他使用的是以前版本的SQL Server;这就是我的答案。无论如何,我现在编辑了我的答案,以反映正确的含义。