Вы не можете вызывать хранимые процедуры встроенными, как это.
Несколько параметров включают в себя: 1) Выполнить хранимую процедуру и сохранить результаты во временной таблице.Затем используйте эту временную таблицу.например,
CREATE TABLE #Example
(
ID INTEGER
)
INSERT #Example
EXECUTE My_SP
SELECT t.ID FROM MyTable t JOIN #Example e ON t.ID = e.ID
DROP TABLE #Example
2) преобразовать sproc в пользовательскую функцию, которую вы можете вызвать inline, например,
CREATE FUNCTION dbo.MyFunc()
RETURNS TABLE
AS
RETURN
(
SELECT ID FROM SomeTable WHERE ....
)
SELECT t.ID FROM MyTable t JOIN dbo.MyFunc() f ON t.ID = f.ID
3) Если sproc возвращает один идентификатор, рассмотрите возможность возврата параметра OUTPUTвместо этого от sproc и используйте так:
DECLARE @ID INTEGER
EXECUTE MY_SP @ID OUTPUT
SELECT ID FROM MYTABLE
WHERE ID = @ID