Если у меня есть хранимая процедура, которая использует пользовательскую таблицу в качестве одного из своих входных данных, есть ли способ вызвать хранимую процедуру без предварительного объявления переменной?
т.е. у меня есть этот тип:
CREATE TYPE [IDs] AS TABLE
(
[ID] [BIGINT] NULL
)
и эта процедура
CREATE PROCEDURE spDoSomething (@IDs IDs)
AS
...
Обычно это вызывается сначала путем объявления табличной переменной:
DECLARE @IDs IDs
INSERT @IDs VALUES (1),(2)
EXEC spDoSomething @IDs
Есть ли способ вызвать это в одна строка, т.е.
EXEC spDoSomething @IDs = (SELECT 1 AS ID UNION ALL SELECT 2)
Вариант использования: я обращаюсь к базе данных через пользовательский интерфейс, который динамически создает SQL и выполнение DECLARE @IDs...
невозможно