如果我打开SQL Management Studio并编写以下文本:
select a =1
GO
select b =2
SQL Management Studio将文本拆分为两个语句,在' GO'关键字。
我应该如何在C#中做同样的事情? 我可以使用正则表达式或字符串拆分,但我无法正确拆分这样的字符串:
select text ='
this is a unique statement
GO
'
答案 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"默认情况下作为批处理分隔符。