setvar - 'dbname'附近的语法不正确
问题描述:
我已经搜索了这个答案,但是我可以看到的答案是“接近错误的语法”的答案:'',可以通过打开SQLCMD模式轻松解决。setvar - 'dbname'附近的语法不正确
但是一旦我打开,关于我得到另一个错误:
Msg 102, Level 15, State 1, Line 2
Incorrect syntax near 'MyDatabaseName'.
...用下面的代码:
GO
SET ANSI_NULLS, ANSI_PADDING, ANSI_WARNINGS, ARITHABORT, CONCAT_NULL_YIELDS_NULL, QUOTED_IDENTIFIER ON;
SET NUMERIC_ROUNDABORT OFF;
GO
:setvar DatabaseName "MyDatabaseName"
:setvar DefaultFilePrefix "MyDatabaseName"
:setvar DefaultDataPath ""
:setvar DefaultLogPath ""
GO
:on error exit
GO
我也很好奇为什么它说第2行时代码是在第16行(有评论超过我在那里发布的内容)
答
好的答案结果与上面的代码无关。
后来就下来了,有
CREATE [$(DatabaseName)];
显然之前检查语法所以这个被翻译成MyDatabaseName变量进行评估的声明中,
但当然应该是
CREATE DATABASE [$(DatabaseName)];
将其更改为此工作。
它说第2行,因为它解析代码的语法是,而不是你的文件/文本包含它。它只是将代码分成可理解的块并执行它们。 –