В INSERT
FOR EACH ROW
триггер new
ссылается на вставленную строку.Удаленной строки нет, поэтому old
бесполезен.
И наоборот, когда запускающим действием является DELETE
.Тогда old
ссылается на удаленную строку и new
, при отсутствии вставленной строки бесполезно.
Если действие UPDATE
, то и old
, и new
ссылаются на строку.old
ссылается на строку перед изменением и new
после.
Таким образом, вы можете использовать old.desired_id
или new.desired_id
в зависимости от версии, которую вы хотите, одну до изменения или одну после.