1   .sql文件绝对没有语法错误。我可以直接复制然后在查询分析器中运行。2   .sql文件中执行了两段SQL语句,中间是一个go,当我保存成两个.sql文件时,我再分别运行,就没错误了。3   .sql不过我需要执行的有很多个SQL语句,不想把每个sql语句都保存成.sql文件来分别执行。
比如:insert into ...
go 
update xx...这句话,在查询分析器中运行正常,我把他在程序中运行,就go附近语法错误了。
谢谢!
ps: ASP.NET + SQL2005 

解决方案 »

  1.   

    go 表示sql理默认为批语句结束在你的前台软件里,是没有的
      

  2.   

    GO 不是 Transact-SQL 语句;它是 sqlcmd 和 osql 实用工具以及 SQL Server Management Studio 代码编辑器识别的命令。
      

  3.   

    那意思就是说,我要是想批量执行,还必须存成不同的.sql 了?CSDN说我结贴速度太快。我一会儿就结贴。
      

  4.   

    如果是用程序执行SQL文件应该没错吧。
      

  5.   

    把go去掉也报错。是不是我必须要存成不同的.sql文件来执行了?
      

  6.   

    如果想一起处理的话可以以GO为分隔符分批读取SQL文件,别分别提交执行
      

  7.   


    'CREATE/ALTER PROCEDURE' 必须是查询批次中的第一个语句。
      

  8.   

    可能是CREATE FUNCTION必须是批处理的第一句这种错误
      

  9.   

    那应该没有其他疑问了。。guguda2008的方法不错~~谢谢先。有大哥有更好的方法吗?没有的话就结贴了啊。。
      

  10.   

    必须是一个完整的合法处理才能作为一个批处理的.如果一个批处理从中间被go断开,那么在SQL里估计没有问题,但是在程序里就有可能出错了.