Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.08.15;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





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


1-48048
Runser
2002-08-03 15:18
2002.08.15
MS Word


1-48200
Queen
2002-08-02 23:22
2002.08.15
indy


3-48010
Alexsys
2002-07-25 21:43
2002.08.15
Поиск в табличке по неполному слову по нескольким полям


1-48088
Blacki
2002-08-03 22:56
2002.08.15
Сохранение в Gif





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский