C#split string包含' GO'关键字分为多个sql语句

时间:2015-09-24 14:17:56

标签: c# ssms

如果我打开SQL Management Studio并编写以下文本:

select a =1
GO
select b =2

SQL Management Studio将文本拆分为两个语句,在' GO'关键字。

我应该如何在C#中做同样的事情? 我可以使用正则表达式或字符串拆分,但我无法正确拆分这样的字符串:

select text ='
this is a unique statement
GO
'

1 个答案:

答案 0 :(得分:2)

就像您已经知道的那样,GO是SQL管理工作室中的默认批处理分隔符,而不是SQL关键字。

然而,管理工作室有可用的库,您可以在C#中使用。 解释here(选项2)

string connectionString, scriptText;
SqlConnection sqlConnection = new SqlConnection(connectionString);
ServerConnection svrConnection = new ServerConnection(sqlConnection);
Server server = new Server(svrConnection);
server.ConnectionContext.ExecuteNonQuery(scriptText);

这将执行" scriptText"好像你在管理工作室执行它。它会处理" GO"默认情况下作为批处理分隔符。