У меня есть определенный пользователь типа, как показано ниже:Pass индивидуальный параметра из набора для SQL хранимой процедуры
CREATE TYPE [Integer_udt] AS TABLE (
[Id] INT NOT NULL,
PRIMARY KEY CLUSTERED ([Id] ASC));
Тогда я заселил ее из запроса:
DECLARE @Ids [Integer_udt]
INSERT INTO @Ids
SELECT table1.Id
FROM table1
Далее, мне нужно пройти индивидуальные параметры для хранимой процедуры, которая принимает одну Id:
EXEC prc_complicated_calculation @Id
Предполагая, что я не могу изменить prc_complicated_ расчет. Каков наилучший способ назвать это?
Пробовал оба и производительность аналогична. Благодаря! – Icerman
@Icerman да, я бы не ожидал большой разницы в производительности, поскольку они делают практически то же самое. Верхняя версия - это всего лишь меньше ввода (и не склонна забывать оптимизированные параметры курсора, что может привести к разнице в производительности). Возможно, интересное чтение: http://sqlblog.com/blogs/aaron_bertrand/archive/2012/01/26/the-fallacy-that-a-while-loop-isn-t-a-cursor.aspx –