我有 4 个 sql 脚本,我想在部署后的 DACPAC 中运行它们,但是当我尝试为其中 3 个构建 VS 项目时,出现此错误:
Only one statement is allowed per batch. A batch separator, such as 'GO', might be required between statements.
这些脚本仅包含数据库上不同表中的INSERT
语句。它们的结构都是这样的
IF NOT EXISTS (SELECT 1 FROM dbo.Criteria WHERE Name = 'Mileage') INSERT INTO dbo.Criteria(Name) VALUES ('Mileage'); only on different tables and with different data.
我的问题是,当所有脚本在语法和操作方面都相同时,为什么 VS 会提示其中的 3 个脚本?
PS:按照错误提示在语句之间添加“GO”不会执行任何操作。
最佳答案
我已经发现问题了。当我在 VS 中添加文件时,我忘记从文件属性中设置 Build Action = None
。因此,更改解决了问题,并且项目现在可以编译。
关于sql - SQL脚本错误: Only one statement is allowed per batch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18698481/