sql - SQL脚本错误: Only one statement is allowed per batch

标签 sql sql-server visual-studio-2012 dacpac

我有 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/

相关文章:

node.js - Sequelize transaction.commit() 不提交数据

sql - 如何强制 SQL Server 2008 数据库脱机

visual-studio-2012 - 防止代码分析在 Visual Studio 2012 中重建项目和依赖项

sql - Microsoft SQL Server 中的排序依据和自定义排序

sql-server - SQL Server 索引依赖

mysql - 将多列合并为一列并获取即将到来的到期日期

c# - Visual Studio 2012 部分发布

asp.net - 我在 VS2012 中找不到“选择母版页”或“将代码放在单独的文件中”的选项

.net - 标准 SQL 查询比 Linq 2 SQL 快得多

sql - Oracle sql 将派生表与联合连接