Название этого вопроса немного вводит в заблуждение, но я не мог точно рассказать об этом.Присвоить результаты хранимой процедуры в переменную в другой хранимой процедуре
У меня есть две хранимые процедуры. Первая хранимая процедура (s_proc1
) вызывает вторую хранимую процедуру (s_proc2
). Я хочу присвоить значение, возвращенному с s_proc2
, переменной в s_proc1
. В настоящее время я звоню s_proc2
(внутри s_proc1
) таким образом:
EXEC s_proc2 @SiteID, @count = @PagingCount OUTPUT
s_proc2
содержит динамический оператор запроса (по причинам, я не обрисовать здесь).
CREATE dbo.s_proc2
(
@siteID int,
@count int OUTPUT
)
AS
DECLARE @sSQL nvarchar(100)
DECLARE @xCount int
SELECT @sSQL = 'SELECT COUNT(ID) FROM Authors'
EXEC sp_ExecuteSQL @sSQL, N'@xCount int output', @xCount output
SET @count = @xCount
RETURN @count
Будет ли этот результат в @PagingCount
имеющих значение @count
? Я спрашиваю, потому что результат, который я получаю от s_proc1
, является неустойчивым. Фактически, я получаю два результата. Первый - @count
, затем результат s_proc1
(что неверно). Поэтому мне интересно, правильно ли установлен @PagingCount
.
спасибо.
Это приводит к ошибке Параметризованный запроса '(@xCount INT выход) ВЫБОР @xCount = COUNT (i.id) ОТ Авторы' ожидает, что параметр '@xCount', который не поставляется. – RHPT
Nevermind. Я понял. Спасибо вам и Мартину. – RHPT