Witam,
mam problem z wyzwalaczem, potrzebuje napisać wyzwalacz, który zaktualizuje wszystkie rekordy w wyzwalaczu oprócz tego który wywołał wyzwalacz.
Mam taki pomysł:
  1. CREATE OR REPLACE TRIGGER kradziez
  2. BEFORE UPDATE ON Donacje
  3. FOR EACH ROW
  4. BEGIN
  5. UPDATE Donacje SET data_wydania = TO_CHAR(SYSDATE, 'DD/MM/YY') WHERE Nr_zlecenia <> :OLD.Nr_zlecenia AND Pseudo_dawcy <> :OLD.Pseudo_dawcy AND Data_wydania IS NULL;
  6. END;

Wiem, że przyczyną błędu jest próba zmiany w tabeli która jest właśnie "obrabiana", ale nie mam pomysłu jak to ominąć. Będę wdzięczny za każdą pomoc smile.gif.
Pozdrawiam.

-- edit
Nieaktualne, dałem radę to zrobić, jakby ktoś potrzebował to trzeba użyć transakcji autonomicznej.
  1. FOR EACH ROW
  2. DECLARE PRAGMA AUTONOMOUS_TRANSACTION;
  3. BEGIN
  4. ...
  5. COMMIT;
  6. END;