Учитывая простую хранимую процедуру, которая заполняет параметр OUTPUT
, а также RETURN
s значение, например:
CREATE PROCEDURE sp_test
(
@param_out INT OUTPUT
)
AS BEGIN
SELECT @param_out = 9
RETURN 2
END
Как я могу вызвать эту процедуру, используя sp_executesql
и захватить оба эти значения?
Я пробовал:
DECLARE @ret INT, @param_out INT
EXEC SP_EXECUTESQL N'EXEC @ret = sp_test',
N'@ret INT OUTPUT, @param_out INT OUTPUT',
@ret OUTPUT,
@param_out OUTPUT
SELECT @ret, @param_out
Однако это жалуется, что @param_out
не был предоставлен:
Процедура или функция sp_test ожидает параметр '@param_out', который не был предоставлен.