Триггер запускается один раз для каждой партии и должен всегда разрабатываться с учетом этого.Да, если вы выполняете многострочное обновление или вставку, все строки будут во вставленных или удаленных таблицах.Например, команда
Delete table1 where state = 'CA'
будет содержать все строки таблицы, в которых есть состояние CA, даже если их было 10 000 000.Вот почему тестирование триггера имеет решающее значение и почему триггер должен быть спроектирован для обработки многорядных действий.Триггер, который работает хорошо для одной строки, может привести к полной остановке базы данных на несколько часов, если он плохо спроектирован для обработки нескольких строк, или может вызвать проблемы с целостностью данных, если он не предназначен для правильной обработки нескольких строк.Триггеры не должны полагаться в основном на курсоры или циклы, а на операции на основе множеств.Если вы устанавливаете содержимое вставленной или разделенной переменной в переменную, вы почти наверняка ожидаете, что одна строка и ваш триггер не будут работать должным образом, когда кто-то будет выполнять над ним операцию на основе набора.виды триггеров DML, после триггеров, которые происходят после помещения записи в таблицу.Они обычно используются для обновления некоторых других таблиц.Прежде чем триггеры заменят вставку / обновление / удаление, они обычно используются для специальной обработки на вставляемой таблице.Важно знать, что триггер до не будет выполнять действие, которое было отправлено в таблицу, и если вы все еще хотите удалить / обновить или вставить как часть триггера, вы должны записать это в триггер.