当我尝试在BEGIN ... END语句之间包含SQL文件时,我遇到了问题。 这是我的sql脚本:
IF @Statement
BEGIN
:r .\myfile.sql
END
当我尝试执行它时,出现以下错误:
Error 160 SQL80001: Incorrect syntax near ':'.
有人知道我做错了吗?
非常感谢你。
答案 0 :(得分:0)
BEGIN和END是Transact-SQL语句。它们由SQL Server引擎解析和执行
:r
是sqlcmd扩展名。 sqlcmd工具使用它来更改发送到SQL Server的任何内容。
如果您将:r
发送到引擎(您执行了此操作),则会出现语法错误。启用sqlcmd模式时,可以在sqlcmd,SSMS中使用:r
,或者您可以起诉自定义库在您的应用中执行此操作,例如DbUtilSqlCmd
。
答案 1 :(得分:0)
您可以点击页面右上角的按钮尝试启用SQLCMD模式。 (至少我认为应该在哪里)
希望有所帮助。
//霍迪尼