我有一个问题,当我试图包括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模式。(至少我认为它应该在那里)
希望对你有帮助。
//胡迪尼