文本文件里面的内容为:
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Finance_Test]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[Finance_Test]
GOSET QUOTED_IDENTIFIER ON 
GO
SET ANSI_NULLS OFF 
GOCREATE PROCEDURE Finance_Test AS
RETURN 33333GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON 
GO

解决方案 »

  1.   

    把它换成.bat文件,把登陆的命令也写在里面,DELPHI只要执行这个文件就可以了
    怎么写SQL SERVER 我也不清楚,呵呵
    我只会ORACLE的,你查查吧
      

  2.   

    adoquery1.SQL.LoadFromFile(path);
    adoquery1.ExecSQL;
      

  3.   

    不行,会提示出错: 
    “GO”处会出错,
    CREATE PROCEDURE Finance_Test AS这一行也会出出错!
      

  4.   

    我想不是去不去GO的问题,是不是从命令行的TSQL.EXE上想想办法?
      

  5.   

    sql server有没有执行文件里面的sql语句的存储过程?
    TSQL.EXE是什么东西?
      

  6.   

    我已经解决了,利用命令行工具:isqlw /S (local) /d 数据库名称 /U 用户名 /P 密码 /i .\sql.sql /o .\s.txt其中.\sql.sql是输入文件
    s.txt为输出文件
    把该文件保存为一个bat文件,运行该文件就行啦嘻嘻
      

  7.   

    每一个Go=一个ExecSQL
    SET QUOTED_IDENTIFIER ON 
    GO
    SET ANSI_NULLS OFF 
    GO可以省略。
      

  8.   

    其实我把所有的go去掉,就剩下
    CREATE PROCEDURE Finance_Test AS
    ……
    RETURN 33333如果存储过程复杂的话,也会出错,所以还是采用命令行的方式比较省事。我做这个东西是为了给用户打补丁之用。