oracle da after delete triggerı

Oracle veritabanı ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
filiz
Üye
Mesajlar: 82
Kayıt: 24 Ara 2003 08:11
Konum: İzmir

oracle da after delete triggerı

Mesaj gönderen filiz »

merhabalar
Kullandığım veritabanı Oracle ve bu db üstünde bir ağaç yapısını tutan USTPROJE table ım var
alanları

Kod: Tümünü seç

(
ID IN NUMBER
AD IN VARCHAR2,
KOD IN VARCHAR2,
SEVIYE IN NUMBER,
USTID IN NUMBER,
TARIHI IN NUMBER,
SIRASI IN NUMBER
)
şeklinde...
USTID bağlı olduğu kaydın id'sini gösteriyor.Boylece bir ağaç yapısı var..
ben ust seviyede bir kayıt sildiğimde buna bağlı alt kayıtlarında silinmesini istiyorum

bunun için

Kod: Tümünü seç

CREATE OR REPLACE TRIGGER A_D_USTPROJE
AFTER DELETE ON USTPROJE
BEGIN
   DELETE FROM USTPROJE WHERE USTPROJE.USTID=:OLD.ID;
COMMIT;
END;
şeklinde bir trigger yazdım.
ancak
silme işlemi sırasında ORA-4091: table APK_PROJE.USTPROJE is mutating,triger/function may not see it
şeklinde hata alıyorum.

Bunu nasıl aşarım
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7587
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Merhaba,

yapacağınız işlem tablodaki delete triggerını tekrar tetikleyeceğinden sorun olabilir.

Bu hatadan kaçınmanın yolları ile ilgili bir makale buldum, örneklerde var içinde :

http://asktom.oracle.com/~tkyte/Mutate/

Kolay gelsin.
Cevapla