我已经为此搜索了答案,但我能看到的只是“错误的语法附近':'”的答案,这可以通过打开SQLCMD模式轻松解决。
但是一旦我转过身就会出现另一个错误:
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
我也很好奇为什么当代码在第16行时它会说第2行(我的帖子上面有评论)
答案 0 :(得分:1)
好的答案结果与上面的代码无关。
稍后,有一个声明
CREATE [$(DatabaseName)];
显然,在检查语法之前评估变量,因此将其转换为MyDatabaseName,
但当然应该是
CREATE DATABASE [$(DatabaseName)];
将其更改为有效。