Вылезла вот такая вот ошибка
"ORA-04091 таблица Links изменяется тригер может не заметить это
ORA-06512 .... line 5
ORA-06512 .... line 9
"
поиском форуму поискал и нашёл что-то внятное для меня только в FAQ-е:
http://www.sql.ru/faq/faq_topic.aspx?fid=513 (Мутирование таблиц)
только вот не понял при чём тут мутирование к моему тригеру - в тригере на insert/update таблицы Links делается запрос к этой Links....
create or replace trigger trigger_Links
after insert or update on Links
for each row
declare
v_count integer(32);
v_stop integer(32);
v_id char(8);
cursor cr_Links is select distinct(id) from Links WHERE IdC=:new.IdC AND Mobile=1;
begin
if(:new.Mobile != :old.Mobile) then
v_count :=0;
OPEN cr_Links;
LOOP
FETCH cr_Links INTO v_id;
SELECT stop into v_stop FROM Users WHERE Id=v_id;
if v_stop=0 then v_count:=v_count+1;end if;
EXIT WHEN cr_Links%NOTFOUND;
END LOOP;
CLOSE cr_Links;
UPDATE Client SET Mobile = v_count where IdC=:new.IdC;
end if;
end;
Мне надо просто сделать выборку из той таблицы в которой делается изменение, как избавиться от этой ошибки?