powered by simpleCommunicator - 2.0.35     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Create trigger
1 сообщений из 1, страница 1 из 1
Create trigger
    #32012806
WhiteShu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Второй день мучаю SQL+ от oracle 8.0.5

SQL> CREATE TRIGGER alt_insert AFTER INSERT ON alternative FOR EACH ROW
2 DECLARE
3 CURSOR cur_obj_lf IS
4 SELECT OBJECTS.OBJ_ID, LEAF.LF_ID
5 FROM OBJECTS, LEAF
6 WHERE OBJECTS.TOBJ_ID = LEAF.TOBJ_ID;
7 BEGIN
8 FOR obj_leaf IN cur_obj_lf LOOP
9 INSERT INTO PARAMS_VAL (ALT_ID, LF_ID, OBJ_ID, LV_VALUE, LV_SYMVALUE, LV_SESSION)
10 VALUES (:new.alt_id, obj_leaf.lf_id, obj_leaf.obj_id, 0, "", 0);
11 END LOOP;
12 END;
13 /
CREATE TRIGGER alt_insert AFTER INSERT ON alternative FOR EACH ROW
*
ошибка в строке 1:
ORA-00604: ошибка на рекурсивном SQL-уровне 1
ORA-01400: невозможно вставить NULL в ("SYS"."OBJ$"."NAME")

---------

Простой курсор вроде

CREATE OR REPLACE TRIGGER alt_delete BEFORE DELETE ON alternative FOR EACH ROW
BEGIN
DELETE FROM params_val WHERE alt_id = :old.alt_id;
END;

переваривается спокойно.

---------

С надеждой,
Shu.
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Create trigger
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]