У меня есть хранимая процедура, которая требует определенного набора значений (T_id в следующем коде) для правильного выполнения, все значения должны присутствовать в наборе (исходя из таблицы #temp).Эти значения поступают из многочисленных каналов, и во время выполнения (хранимой процедуры) некоторые из них могут отсутствовать.Я пытаюсь поместить немного кода на место, в результате чего, если все значения отсутствуют, то хранимая процедура не выполняется.Я указал: 1) таблицу для сравнения
create table #test(T_id real)
insert into #test (T_id)
select id from dbo.mapping
where id in('1', '2','3','4','5','6')
2) (бит, с которым я борюсь), сравнение с тем, что присутствует в приведенной выше таблице ... и избегание выполнения кода.примечание: assign_ID - это таблица, которая может содержать или не содержать все необходимые значения (из ленты).
IF NOT EXISTS (select T_id from #assign_ID except select T_id from #test)
Exec [dbo].[storedprocedure]@rdate, '1,2,3,4,5,6,'
else
print N'missing'
Я не уверен на 100%, что я правильно понял логику.Но нужен ли мне динамический SQL, поскольку решение о запуске принимается во время выполнения?Точно сказать не могу.Пожалуйста, любая помощь приветствуется.