【发布时间】:2017-02-27 06:01:51
【问题描述】:
我正在尝试在 C# 中执行一个脚本,该脚本将在 SQL 2008 数据库中创建多个存储过程。
我尝试将它们全部放在一个文件中,但是当我尝试使用时出错了
Incorrect syntax 'create procedure' must be the only statement in the batch.
如果我将GO 放在创建过程之后如果失败并在单词GO 上出现语法错误。
C# 代码如下所示;
using (SqlConnection con = new SqlConnection(conString))
{
con.Open();
foreach(string scriptFile in scriptFiles)
{
var command = con.CreateCommand();
command.CommandText = scriptFile;
int a = command.ExecuteNonQuery();
command.Dispose();
if (a == -1) successFlag = true;
}
con.Close();
con.Dispose();
}
所以我本质上在同一个 txt 文件中有一堆 Create Procedure 调用,我想在数据库上执行这些调用来创建所有存储的过程。
Create PROCEDURE [dbo].[msp_AddBulkNewEmployeeUploadDetails]
snip
CREATE PROCEDURE [dbo].[msp_AddNewEmployeeDetails]
snip
有没有办法在单个文件中而不是在多个文件中执行此操作?
【问题讨论】: