Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.08.15;
Скачать: CL | DM;

Вниз

ORA-04091- ошибка в ORACLE,кто решал такую проблему помогите пож.   Найти похожие ветки 

 
KMZ   (2002-07-26 08:01) [0]

Создал триггер который реагирует на изменения в таблице users,
и добавляет его данные в другую таблицу,
но при добавлений или изменеий выходит сообщение ORA-04091
-------------------------------------------
"table is mutating triger/function may not see it"
---------------------------------------------
create or replace trigger sa.USERS
before update or insert or delete
on sa.USERS
FOR EACH ROW

Declare
Begin
Insert into sa.USER2(id,fname,lname,phone)
select id,FNAME,LNAME,PHONE from sa.USERS;

End;
-------------------------------------------------
Кто решал данную пробему помогите пож-ста,
всем заранее спасибо.


 
dimis   (2002-07-26 08:32) [1]

Insert into sa.USER2(id,fname,lname,phone)
values(new.id,new.FNAME,new.LNAME,new.PHONE)


 
Sergey13 ©   (2002-07-26 08:56) [2]

2KMZ (26.07.02 08:01)
Все правильно. Типичный пример мутирующей таблицы. Т.е. в момент когда USERS изменяется и изменения еще не закреплены ты пытаешься ее селектить => что твой запрос вернет - непресказуемо. А зачем ты на каждое изменение USERS пишешь ВСЕ записи из нее в USERS2. Странное поведние. Что за задача? Если ты хотел записать туда старые или новые значения то и пиши тогда OLD.id или NEW.Fname и т.д.... Если нет то надо в любом случае задачу смотреть и логику переделывать.


 
MishGan   (2002-07-26 09:58) [3]

http://ehcap.narod.ru/development.htm


 
Лёик   (2002-07-26 10:51) [4]

2KMZ
Всё уже обяснили, хочу добавить тока что если ты в User2 дублируешь данные или ведёшь статистику по User то лучше делать тригер не before, а after update or insert or delete...
Тогда и
Insert into sa.USER2(id,fname,lname,phone)
select id,FNAME,LNAME,PHONE from sa.USERS;





 
KMZ   (2002-07-26 13:50) [5]

Ребята всем спасибо разобрался!



Страницы: 1 вся ветка

Текущий архив: 2002.08.15;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.015 c
4-48375
stainer
2002-06-12 16:09
2002.08.15
wallpaper


1-48036
V.Turecky
2002-08-03 15:31
2002.08.15
Как организовать выход по Esc?


14-48309
Чмо
2002-07-22 00:01
2002.08.15
Возможно подобрать пароль к *.doc?


14-48291
MIg
2002-07-19 17:23
2002.08.15
отладчик на некоторые строчки не попадает........


6-48240
~GT~
2002-06-01 01:01
2002.08.15
WebBrowser1 WM_COPY