2014-09-08 3 views
0

Я пытаюсь выполнить процедуру (A) внутри другой процедуры (B), и я хочу сохранить значение, возвращенное из процедуры A, в переменной с именем @LogId.хранить возвращаемое значение из процедуры в переменной

после выполнения Процедура A

exec TES_usp_getnextlogid 

возвращает что-то вроде

NewLogId = xxxx 

Я попытался сделать следующее в процедуре B.

declare @LogId int 
exec @LogId = TES_usp_getnextlogid 

мой вопрос, почему не делает @LogId имеет значение, которое возвращается с TES_usp_getnextlogid Процедура?

Спасибо.

+1

Почему бы не использовать выходной параметр вместо этого? –

+0

как в какой процедуре? Прости. Я новичок в sql –

+0

Здесь есть только одна процедура. –

ответ

1

использовать выходной параметр для этого, возвращаемое значение должно использоваться только для возврата статуса Success/Faliuer.

CREATE PROCEDURE My_Outter_Proc2 
AS 
BEGIN 
    DECLARE @NextID INT; 

    EXEC TES_usp_getnextlogid @NextID OUTPUT 

    EXEC My_Inner_Proc @NextID 

END 
Смежные вопросы