在开始之间包含SQL文件。。。结束返回错误SQL80001

在开始之间包含SQL文件。。。结束返回错误SQL80001,sql,sql-server,Sql,Sql Server,我有一个问题,当我试图包括SQL文件之间的开始。。。结束声明。 以下是我的sql脚本: IF @Statement BEGIN :r .\myfile.sql END 当我尝试执行它时,出现以下错误: Error 160 SQL80001: Incorrect syntax near ':'. 有人知道我做错了什么吗 非常感谢。BEGIN和END是Transact-SQL语句。它们被SQL Server引擎解析和执行 :r是sqlcmd扩展名。sqlcmd工具使用它来更改发送到

我有一个问题,当我试图包括SQL文件之间的开始。。。结束声明。 以下是我的sql脚本:

IF @Statement   
BEGIN

:r .\myfile.sql

END
当我尝试执行它时,出现以下错误:

Error   160 SQL80001: Incorrect syntax near ':'.
有人知道我做错了什么吗


非常感谢。BEGIN和END是Transact-SQL语句。它们被SQL Server引擎解析和执行

:r是sqlcmd扩展名。sqlcmd工具使用它来更改发送到SQL Server的任何内容


如果将:r发送到执行此操作的引擎,则会出现语法错误:r可以在sqlcmd中使用,也可以在启用sqlcmd模式时在SSMS中使用,或者您可以在应用程序中使用自定义库来执行此操作,例如。

您可以通过点击页面右上角的按钮来尝试启用sqlcmd模式。至少我认为那是他应该去的地方

希望有帮助


//Houdini

您是如何运行此SQL的;直接使用还是使用SQLCMD?实际上这是SQLPROJ中的一个后期部署脚本,我在构建它时遇到这个错误。有没有办法在BEGIN中包含一个文件。。。结束语句而不使用:r?