从另一个存储过程调用三个存储过程

时间:2015-03-09 19:50:13

标签: sql sql-server

我已经执行了3个存储过程。但现在我想在一个程序中调用它们

过程Proc1

@PTID int
select A.AId from Table1 A  where A.Id = @PID

PROC2

@PID int,
@AID int
Insert into Table2 (PID, AID) values (@PID, @AID)

PROC3

@AID int,
@PID int


Insert into Table3 (AID,WID,PID)
select AD,WID,@PID from Table1 where AID = @AID 

现在调用所有这3个程序的程序

MAIN PROC

@PTID int;
@PID int;

Declare @aid int
set @aid=EXEC Proc1 @PID  //I want to get a list of aid, but I get ERROR here saying Incorrect Syntax

exec Proc2 (@PID, @aid)

exec Proc3(@aid)

我的Proc1,Proc2和Proc3运行正常。但是我在Main Proc中得到了错误。

如果我想在Main Proc中调用所有这3个存储过程,我该如何实现?

更新:

Main Proc中的错误:

  

关键字' EXEC'附近的语法不正确。

1 个答案:

答案 0 :(得分:1)

尝试像这样更改proc3

Insert into Table3 (AID,WID,PID)
select AD,WID,@PID from Table1 where AID = @AID