swordfish
Зарегистрирован: 07.05.2002 Сообщения: 100 Откуда: Наб. Челны
|
Добавлено: Вт Май 07 2002 13:42 Заголовок сообщения: Re: ORACLE |
|
|
Триггер UPDATE не может читать данные, которые связанны с собственной таблицей, за исключением данных по ссылке old или new, а также других таблиц, которые изменяються в силу ограничения ссылочной целостности. Это так называемая проблема мутаций и ограничений ссылочной целостности. Но способ есть - вызвать новую функцию или процедуру которая возвращает необходимый вам результат. Попробуйте.
CREATE PROCEDURE name (...) AS PRAGMA AUTONOMOUS_TRASACTION; BEGIN ... END;
С функциями тоже самое. А если вставить объявление автономной транзакции в триггер строки, то можно делать даже COMMIT:
CREATE TRIGGER name BEFORE UPDATE ON table_name FOR EACH ROW DECLARE PRAGMA AUTONOMOUS_TRANSACTION; BEGIN ... COMMIT; END;
Вызов к своей таблице тоже должен пройти успешно. Прошу прощения заранее, если что не так, но очень уж давно не работал с Оракл. |
|