У меня есть триггер, который будет создаваться динамически, так как он будет прикреплен к представлению, которое также создается динамически. Я не хочу, чтобы в моей хранимой процедуре был весь триггер, поэтому я хотел бы переместить большую часть его в хранимую процедуру, но я не буду знать поля во вставленных и удаленных таблицах.
Длина триггера составляет около 90 строк, и единственное, что мне действительно нужно различать между триггерами, это:
DECLARE @DEBUG bit = 1
DECLARE @EntityName nvarchar(128) = 'Lot'
SELECT * INTO #MYINSERTED FROM INSERTED
SELECT * INTO #MYDELETED FROM DELETED
Если бы я мог переместить остальную часть в хранимую процедуру, это было бы здорово.
Проблема с простой передачей @DEBUG и @EntityName и использованием #MYINSERTED и #MYDELETED в хранимой процедуре, тогда у меня будет проблема, если два человека вставляют или обновляют одно и то же представление одновременно.
Лучше всего передать табличную переменную, чтобы устранить любые проблемы с параллелизмом, но я не уверен, как это лучше всего сделать.
Спасибо.