包含BEGIN ..之间的SQL文件.END返回错误SQL80001



我有一个问题,当我试图包括SQL文件之间的BEGIN…结束声明。下面是我的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中使用,在SSMS中,当sqlcmd模式启用时,或者您可以在您的应用程序中使用自定义库,如DbUtilSqlCmd

您可以通过点击页面右上角的按钮来尝试启用SQLCMD模式。(至少我认为它应该在那里)

希望对你有帮助。

//胡迪尼

相关内容

最新更新