Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> tabela ulega mutacji, wyzwalacz/funkcja może tego nie widzieć
sannin
post 9.05.2012, 23:45:57
Post #1





Grupa: Zarejestrowani
Postów: 308
Pomógł: 13
Dołączył: 31.10.2008

Ostrzeżenie: (0%)
-----


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;


Ten post edytował sannin 10.05.2012, 10:16:13
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 16.04.2024 - 20:57