Выполнить хранимую процедуру со значениями таблицы в качестве параметра - PullRequest
26 голосов
/ 31 августа 2011

создаю собственный тип таблицы

CREATE TYPE [dbo].[ObjectsList] AS TABLE(
[Id] [int] NOT NULL,
PRIMARY KEY CLUSTERED 
(
   [Id] ASC
)WITH (IGNORE_DUP_KEY = OFF)
)
GO

и когда я хочу передать этот тип в качестве параметра, например

CREATE PROCEDURE [dbo].[GetData](@DataIds ObjectsList READONLY)

как мне передать это EXEC GetData ????

Ответы [ 2 ]

43 голосов
/ 31 августа 2011

Посмотрите на это

Вы можете найти пример

DECLARE @data ObjectList
INSERT @data (Id) VALUES (1)
EXEC GetData @data
1 голос
/ 01 ноября 2016

Для заполнения @data с помощью инструкции SELECT:

DECLARE @data ObjectList

INSERT @data (Id)
SELECT
  Id
FROM
  <someDB>.<someSchema>.<someTable>
  JOIN ... etc 
WHERE
  ... etc

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