This should be pretty simple but I am not getting an luck getting what I need by googling.
I am executing a few stored procedures inside of another stored procedure. One of stored procedures returns a value that the other 2 procedures will use how do I get that get and use that variable?
Example
ALTERPROCEDURE [dbo].[ins_mainproc_sp]
AS
(
parameters
)
BEGIN
this procedure returns an ID
exec ins_procedure1_sp 'Value', 'Value'
these 2 procedures will use the value returned by the above procedure.
exec ins_procedure2_sp id,'Value'
exec ins_procedure3_sp id,'Value'
END
I was going to break this into 2 different procedures. Run ins_procedure1_sp get the value then pass it into ins_mainproc_sp but I was hoping to not make 2 calls.
You can use the OUTPUT parameter here.
Code Snippet
ALTER PROCEDURE [dbo].[ins_mainproc_sp]
AS
(
parameters
)
Begin
Declare @.Id as int
exec ins_procedure1_sp 'Value', 'Value', @.Id OUTPUT
..
...
....
--Reuse the @.Id on the SP calls
End
Go
Alter Proc ins_procedure1_sp
(
other parameters,
@.Id int OUTPUT
)
as
Begin
Insert ......
Set @.Id = <inserted Value>;
End
No comments:
Post a Comment