我在本地数据库上有以下sql查询,它运行无误:
DROP TABLE IF EXISTS MadeupTableName
我的本地数据库的版本是:
Microsoft SQL Server 2017 (RTM) - 14.0.1000.169 (X64) Aug 22 2017 17:04:49 Copyright (C) 2017 Microsoft Corporation Developer Edition (64-bit) on Windows 10 Enterprise 10.0 <X64> (Build 17763: ) (Hypervisor)
如果尝试在另一个SQL Server数据库上运行相同的SQL,则会在Intellisense中收到此错误:
Incorrect syntax near 'IF'. expecting '.', ID, or QUOTED_ID error
该数据库的版本信息是:
Microsoft SQL Server 2014 (SP2) (KB3171021) - 12.0.5000.0 (X64) Jun 17 2016 19:14:09 Copyright (c) Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.3 <X64> (Build 9600: ) (Hypervisor)
2014年至2017年之间是否有所变化,或者我应该检查某些设置吗?
总结Sean Lange的回应。 DROP IF EXISTS于2016年引入。对于早期的SQL版本,此语法将起作用: