Главная страница
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.01 c
3-48010
Alexsys
2002-07-25 21:43
2002.08.15
Поиск в табличке по неполному слову по нескольким полям


3-47924
Rustik
2002-07-25 10:33
2002.08.15
Мастера подскажите где можно посмотреть как создать адресный


3-47969
kalliopiy
2002-07-26 11:48
2002.08.15
О фильтрах


1-48081
ZEE
2002-07-28 17:00
2002.08.15
размеры PopupMenu


7-48336
Dizer
2002-05-30 11:55
2002.08.15
Компонент ядра загрузки процессора