CREATE PROCEDURE ACC_GetAirLineByID @AirLineID int as select * from AccAirLine where AirLineID = @AirLineIDCREATE PROCEDURE ACC_GetAllPrice as select * from TicketPrice就这样两个连在一起说是PROCEDURE附近有语法错误
--试试,在中间加个go CREATE PROCEDURE ACC_GetAirLineByID @AirLineID int as select * from AccAirLine where AirLineID = @AirLineIDgoCREATE PROCEDURE ACC_GetAllPrice as select * from TicketPrice
不能加go加go后程序就会出错的
分多次执行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写法,其他语言自己改
打开企业管理器,选中所有的存储过程,右键所有任务,生成SQL脚本,直接保存即可。
中间加GOCREATE PROCEDURE ACC_GetAirLineByID @AirLineID int as select * from AccAirLine where AirLineID = @AirLineIDgo CREATE PROCEDURE ACC_GetAllPrice as select * from TicketPrice
两条创建存储过程的语句中间必须加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 '') ')
标准的新的存储过程的内容 希望对你有用 ---------------- 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
@AirLineID int
as
select * from AccAirLine where AirLineID = @AirLineIDCREATE PROCEDURE ACC_GetAllPrice
as
select * from TicketPrice就这样两个连在一起说是PROCEDURE附近有语法错误
CREATE PROCEDURE ACC_GetAirLineByID
@AirLineID int
as
select * from AccAirLine where AirLineID = @AirLineIDgoCREATE PROCEDURE ACC_GetAllPrice
as
select * from TicketPrice
@AirLineID int
as
select * from AccAirLine where AirLineID = @AirLineID"con.execute "CREATE PROCEDURE ACC_GetAllPrice
as
select * from TicketPrice
"
'VB写法,其他语言自己改
@AirLineID int
as
select * from AccAirLine where AirLineID = @AirLineIDgo
CREATE PROCEDURE ACC_GetAllPrice
as
select * from TicketPrice
加go是没问题
加go是上一个成功才执行下一个。很显然你的语句中有一个存储过程不正确
我把所有的脚本弄成一个文本文件然后用c++把这个文本读出来后,在c++的程序里去执行的数据库操作这个时候如果语句里有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
'')
')
希望对你有用
----------------
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
----不知道LZ喜欢这个搞法不.......
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脚本
真好玩...