Название этого вопроса немного вводит в заблуждение, но я не мог обобщить это очень хорошо.
У меня есть две хранимые процедуры. Первая хранимая процедура (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
.
Спасибо.