Использование результатов одной хранимой процедуры в другой хранимой процедуре - SQL Server - PullRequest
0 голосов
/ 26 июня 2019

Есть ли способ использовать результаты одной хранимой процедуры в другой хранимой процедуре без использования табличной переменной или временной таблицы?Логика такова:

   IF (@example = 1)
    BEGIN
        DECLARE #temp TABLE (Id INT);
        INSERT INTO #temp
            EXEC [Procedure1] @ItemId = @StockId

        set @Cost = (select top 1 id from #temp)

В идеале я хотел бы знать, есть ли способ сделать это без необходимости использовать временную таблицу.Посмотрел в Интернете, но не могу найти ничего, что работает.Любой совет был бы великолепен.

1 Ответ

0 голосов
/ 26 июня 2019

В общем, если вы хотите использовать пользовательский код в SELECT, то лучше сформулировать код как пользовательскую функцию , а не как пользовательский процедура .

То есть процедуры должны использоваться для их побочных эффектов, а функции должны использоваться для их возвращаемых значений.

Тем не менее, вы можете использовать openquery (задокументировано здесь ) для запуска exec на связанном сервере.Связанный сервер может быть сервером, на котором вы работаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...