Как передать значение из «До запуска» в «После запуска» - PullRequest
0 голосов
/ 11 марта 2020

Я хочу передать значение от до триггера до триггера после в postgresql, это возможно? Я пробовал tg_argv, он принимает значения из функции, но это не совсем то, что мне нужно,

То, что я пытаюсь сделать sh, так это то, что у меня есть таблица аудита, где у меня есть два столбца old_re c, new_re c, в триггере перед обновлением я заполню таблицу аудита old_re c таблицы запуска и вернуть первичный ключ таблицы аудита. теперь в триггере после обновления мне нужно заполнить new_re c для того же первичного ключа таблицы аудита, т. е. мне нужно передать первичный ключ, сгенерированный для таблицы_индикатуры, от триггера до триггера до, после * триггера

иметь гибкость, чтобы изменить дизайн с учетом опции (pgAUDIT, сторонние инструменты, которые меня не интересуют). Пожалуйста, предложите, если есть лучший способ сделать это.

Before Trigger on ABC table
declare
l_id integer;
begin
  insert into audit_table (old_rec) values(old.*) returning id into l_id;
end


after trigger on ABC table
declare 
l_id integer;
begin
   l_id = (somehow get the value generated in before trigger);
   update audit_table set new_rec = new.* where id = l_id;
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...