0
Я хочу использовать выходное значение одной хранимой процедуры в другой хранимой процедуре.Pass Output Значение одной хранимой процедуры для другой хранимой процедуры
Хранимая процедура 1:
Create PROCEDURE [dbo].[usp_AddUpdateUser]
@UserId INT,
@Email varchar(50),
@FirstName varchar(50)
AS
BEGIN
MERGE [User] AS target
USING (SELECT @UserId) AS source (Id)
ON target.Id = source.Id
WHEN MATCHED THEN
UPDATE
SET Email = @Email,
FirstName = @FirstName
WHEN NOT MATCHED THEN
INSERT (Email, FirstName)
VALUES (@Email, @FirstName)
OUTPUT inserted.Id;
END
Теперь я хочу использовать вставленную идентификатор выше хранимой процедуры ниже хранимой процедуры:
ALTER PROCEDURE usp_AddUpdateDealer
(@Id INT,
@DealerName varchar(55),
@Email varchar(55),
@UserId INT)
AS
BEGIN
DECLARE @NewUserId INT
EXEC @NewUserId = usp_AddUpdateUser @UserId, @Email, @DealerName
MERGE Dealer AS target
USING (SELECT @Id) AS source (Id) ON target.Id = source.Id
WHEN MATCHED THEN
UPDATE
SET @DealerName = @DealerName,
Email = @Email,
UserId = @NewUserId
WHEN NOT MATCHED THEN
INSERT (DealerName, Email, UserId)
VALUES (@DealerName, @Email, @NewUserId)
OUTPUT inserted.Id;
END
@NewUserId
не дает выходное значение.
Как я могу получить опцию вывода хранимой процедуры usp_AddUpdateUser
, чтобы использовать ее в следующей инструкции?