SQL Dynami c Каналы хранимых процедур Просмотреть столбец - PullRequest
0 голосов
/ 08 апреля 2020

Я пытаюсь динамически построить столбец View, используя хранимую процедуру. Это прекрасно работает, пока мои параметры хранимой процедуры имеют значения stati c, как в этом примере:

CREATE VIEW MyTestView AS SELECT T1.ItemId, T1.BatchId, 
    CAST ((SELECT * FROM OPENQUERY([LOCALSERVER], 'EXEC [MyDatabase].dbo.MyStoredProcedure
    ''MyItemId'', ''MyBatchNumber''')) AS NVARCHAR(64)) AS FromStoredProc
    FROM MyTable AS T1

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

CREATE VIEW MyTestView AS SELECT T1.ItemId, T1.BatchId, 
    CAST ((SELECT * FROM OPENQUERY([LOCALSERVER], 'EXEC [MyDatabase].dbo.MyStoredProcedure
    T1.ItemId, T1.BatchId')) AS NVARCHAR(64)) AS FromStoredProc
    FROM MyTable AS T1

Есть ли способ передать значения T1 в хранимую процедуру в качестве параметров?

Спасибо

1 Ответ

0 голосов
/ 08 апреля 2020

Попробуйте это. Я думаю, из-за неоднозначности T1 вы не смогли запустить его

  CREATE VIEW MyTestView AS SELECT 
     T1.ItemId, T1.BatchId, 
     CAST ((SELECT * FROM 
  OPENQUERY([LOCALSERVER], 'EXEC 
  [MyDatabase].dbo.MyStoredProcedure
  ItemId, BatchID')) AS NVARCHAR(64)) 
   AS FromStoredProc
   FROM MyTable AS T1
...