日期:2014-05-18  浏览次数:20421 次

高手进来拿分,关于sql语句的问题,实在搞不定了。。
这里我们假设sql1;sql2都是标准的sql语句

情况一:
在sql编辑器中
sql1
sql2
-----按f5执行的话,这样是可以正确执行的,这个应该谁都知道了。。哈哈


情况二:
在.net中
SqlComm.CommandText   =   sql1+ "; "+sql2;
SqlComm.ExecuteNonQuery();---这样也是可以执行的。。

问题是
SqlComm.CommandText   =   sql1+ ";go; "+sql2;
SqlComm.ExecuteNonQuery();---这样就不行了,因为在sql编辑器中必须如下形式才可以正确执行
sql1
go
sql2--也就是说go必须是单独的一行

我试了一种解决方案
SqlComm.CommandText   =   sql1+ "\ngo\n "+sql2;我试着加上换行符,这样还是不行。。真的急啊。。。
请高人出山指点小弟一下,谢啦

------解决方案--------------------
心有余而力不足,帮楼主顶!
------解决方案--------------------
“go”不是T-SQL命令。

所谓“sql编辑器”(例如查询分析器)是根据单行的go把命令拆分成不同的批处理分开发送给数据库系统的,不是合并成一个。

如果早知道这个道理,你就不会钻进牛角尖里了。