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