【发布时间】:2014-07-16 14:42:52
【问题描述】:
有人知道为什么以下 SQL 在 SQL Server 2012 中返回语法错误('IF' 附近的语法不正确)吗?
DROP PROCEDURE IF EXISTS MyStoredProcedure;
我知道我可以改用以下内容:
IF EXISTS(SELECT 1 FROM sys.procedures
WHERE Name = 'MyStoredProcedure')
但我想知道为什么第一个会产生错误。
谢谢!
【问题讨论】:
-
简单来说,tsql的第一位不跟syntax for dropping procedures。
-
伙计,我需要更多的咖啡......我完全错过了。
-
谢谢@DMason!我从这里找到了该语法:[link] (dev.mysql.com/doc/refman/5.0/en/drop-procedure.html) 我还在我工作的公司的一些旧代码中看到了它。我的猜测是可能有不同版本的 SQL 支持它。
-
该文档适用于 MySql,而不是 MS SQL Server。 ..SQL Server 从来没有
drop if exists语法。 -
感谢@srutzky 的澄清!
标签: sql stored-procedures sql-server-2012