как создать триггер

есть 2 таблицы: tab_1 и inserted_tab1.

Как написать триггер, которой для всех новых строк, вставляемых в tab_1, заносит их в inserted_tab1???

==============
пишу так:

CREATE TRIGGER "trigger1" AFTER INSERT
ON "sch1"."tab_1" FOR EACH ROW
EXECUTE PROCEDURE "sch1"."2"();

функция:
BEGIN
INSERT INTO inserted_tab1(id_zap,name) VALUES (8,'qwerty');
RETURN inserted_tab1; <-- ругается на ету строчку
END;

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

триггерная

триггерная функция должна возвращать одну из двух вещей:
null или строку таблицы, которая вызвала триггер. Это довольно внятно изложено в документации.
В вашем случае можно
RETURN NULL;
или
RETURN NEW;

BEGIN
new.id_zap:=NEXTVAL('sch1.tab_1_id_zap_seq');
INSERT INTO inserted_tab1(id_zap,name) VALUES (new.id_zap,new.name);
RETURN new; 
END;

Спасибо)

Спасибо)

при вставке в

при вставке в таблицу выдает ошибку:
ralation "sch1.tab_1_id_zap_seq" does not exist

Где ошибка?

в сообщении на

в сообщении на чистом англиском языке написано: "sch1.tab_1_id_zap_seq" не существует.

если не

если не понимаете, что в этой строке написано - просто ее удалите

все спасиюо, я

все спасиюо, я сделал немного подругом)

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Back to top

(С) Виктор Вислобоков, 2008-2023