我把数据库里的存储过程生成了sql脚本然后把这个文件读出来在数据库中执行出错然后我把里面所有的go都去掉也出错然后我把所有的Create producure 连到一起把其他的代码全部删除也不行请问应该怎么修改这些代码才能被程序调用来创建存储过程啊

解决方案 »

  1.   

    CREATE PROCEDURE ACC_GetAirLineByID
    @AirLineID int
    as
    select * from AccAirLine where AirLineID = @AirLineIDCREATE PROCEDURE ACC_GetAllPrice
    as
    select * from TicketPrice就这样两个连在一起说是PROCEDURE附近有语法错误
      

  2.   

    --试试,在中间加个go
    CREATE PROCEDURE ACC_GetAirLineByID
    @AirLineID int
    as
    select * from AccAirLine where AirLineID = @AirLineIDgoCREATE PROCEDURE ACC_GetAllPrice
    as
    select * from TicketPrice
      

  3.   

    不能加go加go后程序就会出错的
      

  4.   

    分多次执行con.execute "CREATE PROCEDURE ACC_GetAirLineByID
    @AirLineID int
    as
    select * from AccAirLine where AirLineID = @AirLineID"con.execute "CREATE PROCEDURE ACC_GetAllPrice
    as
    select * from TicketPrice
    "
    'VB写法,其他语言自己改
      

  5.   

    打开企业管理器,选中所有的存储过程,右键所有任务,生成SQL脚本,直接保存即可。
      

  6.   

    中间加GOCREATE PROCEDURE ACC_GetAirLineByID
    @AirLineID int
    as
    select * from AccAirLine where AirLineID = @AirLineIDgo
    CREATE PROCEDURE ACC_GetAllPrice
    as
    select * from TicketPrice
      

  7.   

    一个个执行,找出原因~~~~~~~~
    加go是没问题
    加go是上一个成功才执行下一个。很显然你的语句中有一个存储过程不正确
      

  8.   

    roy_88(中国风_燃烧你的激情!!!) 我不是在查询分析器里执行的我用是程序调用的这个语句程序调用的时候语句里有go就会报错的
      

  9.   

    大家都看不明白我的意思啊?
    我把所有的脚本弄成一个文本文件然后用c++把这个文本读出来后,在c++的程序里去执行的数据库操作这个时候如果语句里有go就会报错的
      

  10.   

    两条创建存储过程的语句中间必须加go,而execute执行的代码里面又不能加go,矛盾啊。
    试试这样吧
    exec('
    exec(''
    CREATE PROCEDURE ACC_GetAirLineByID
    @AirLineID int
    as
    select * from AccAirLine where AirLineID = @AirLineID
    '')exec(''
    CREATE PROCEDURE ACC_GetAllPrice
    as
    select * from TicketPrice
    '')
    ')
      

  11.   

    标准的新的存储过程的内容 
    希望对你有用
    ----------------
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GOCREATE PROCEDURE <Procedure_Name, sysname, ProcedureName> 
    -- Add the parameters for the stored procedure here
    <@Param1, sysname, @p1> <Datatype_For_Param1, , int> = <Default_Value_For_Param1, , 0>, 
    <@Param2, sysname, @p2> <Datatype_For_Param2, , int> = <Default_Value_For_Param2, , 0>
    AS
    BEGIN SET NOCOUNT ON; SELECT <@Param1, sysname, @p1>, <@Param2, sysname, @p2>
    END
    GO
      

  12.   

    创建一个porc~~这个porc的内容是这文件的内容~~~
                 ----不知道LZ喜欢这个搞法不.......
      

  13.   

    --批量处理多个SQL文件
    master.dbo.xp_cmdshell 'osql -U 用户名 -P 密码 -i c:\**1.sql'
    master.dbo.xp_cmdshell 'osql -U 用户名 -P 密码 -i c:\**2.sql'
    master.dbo.xp_cmdshell 'osql -U 用户名 -P 密码 -i c:\**3.sql'
    master.dbo.xp_cmdshell 'osql -U 用户名 -P 密码 -i c:\**4.sql'*sql 文件是可执行的SQL脚本
      

  14.   

    master.dbo.xp_cmdshell 'osql -U sa -P  -i D:\t.sql'
    真好玩...
      

  15.   

    CREATE PROCEDURE 放在批处理的首句
      

  16.   

    用go做关键字截断文本然后一个一个excute,这个你自己在前台写就好了,前台写字符串操作很容易的