Я пытаюсь из функций и триггеров Int PostGreSQL, однако я имею проблему, когда функция вызывается он дает мне ошибкуPostgreSQL функций и триггеров
ОШИБКА: контроль достиг конца процедуры запуска без возврата
эта конкретная процедура только выполняет вставку в команде, так что я не понимаю, почему он должен вернуться
это сценарий:
CREATE OR REPLACE FUNCTION forest_aud_func() returns trigger as $tree_stamp$
BEGIN
insert into Audit values('k',124,'l');
END;
$tree_stamp$
LANGUAGE plpgsql;
create trigger forest_aud_ins after insert on forest
for each row execute procedure forest_aud_func()
insert into forest values('Blue',1600,'Malta','Health Ltd')
ОК спасибо, сделал, как вы сказали, теперь он дал мне эту ошибку: ОШИБКА: дублирующее значение ключа нарушает уникальное ограничение «audit_pk» ДЕТАЛИ: Key (au_code) = (124) уже существует. i cheked в таблице и 124 еще не существует любые идеи? – Karl
Какую транзакцию вы отправляете при возникновении этой ошибки? – Kuberchaun
@Karl: По-видимому, у вас есть первичный ключ в таблице «audit», который вы нарушаете при вставке значений аудита. Эта проблема не имеет ничего общего с написанием триггера. –