Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Problem sa kreiranjem triggera

[es] :: Oracle :: Problem sa kreiranjem triggera

[ Pregleda: 1849 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Fidelito_Castro
Fidelito_Castro
Subotica

Član broj: 143557
Poruke: 87
*.dynamic.sbb.rs.



Profil

icon Problem sa kreiranjem triggera05.02.2012. u 17:39 - pre 148 meseci
Imam sledece dve relacije:

Pacijenti ( MlbP,Ime,Prezime,Adresa,Pol)
ZdravstveneKnjizice (LBO,RegistarskiBroj,SerijskiBrojZK,Ispostava,ImeP,PrezimeP,Adresa,NazivRadneOrganizacije,MlbP )

Imam zadatak da napravim trigger, takav da kada mi se promeni vrednost FK u relaciji ZdravstvenaKnjzica da se postave odgovarajuće vrednosti za atribute ImeP,PrezimeP,Adresa iz relacije Pacijent.

Ja sam pokusao nesto ovog tipa, ali mi ne prolazi trigger

CREATE OR REPLACE TRIGGER up_zk
AFTER UPDATE OF MlbP ON ZdravstveneKnjizice
FOR EACH ROW
DECLARE
v_Ime VARCHAR2(25);
v_Prezime VARCHAR2(25);
v_Adresa VARCHAR2(30);
BEGIN
SELECT ImeP,PrezimeP,Adresa
INTO v_Ime,v_Prezime,v_Adresa
FROM Pacijenti
WHERE MlbP = :NEW.MlbP;
UPDATE ZdravstveneKnjizice SET ImeP=v_Ime,PrezimeP=v_Prezime,Adresa=v_Adresa
WHERE MlbP=:NEW.MlbP;
END;
 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 3453

Jabber: djoka_l


+1462 Profil

icon Re: Problem sa kreiranjem triggera05.02.2012. u 19:07 - pre 148 meseci
Koja ti je greška? Ono što meni prvo pada u oči je da radiš UPDATE tabele ZdravstveneKnjizice u UPDATE trigeru nad tabelom ZdravstveneKnizice (to ne bi smelo da prođe, trebalo bi da se javi neka "mutating" greška).

Ja bih triger napisao ovako nekako (nemam trenutno Oracle bazu, pa ne mogu da proverim):

Code (plsql):

CREATE OR REPLACE TRIGGER up_zk
BEFORE UPDATE OF MlbP ON ZdravstveneKnjizice
FOR EACH ROW
  SELECT ImeP,PrezimeP,Adresa
  INTO :NEW.ImeP, :NEW:Prezime, :NEW.Adresa
  FROM Pacijenti
  WHERE MlbP = :NEW.MlbP;
END;
 
 
Odgovor na temu

Fidelito_Castro
Fidelito_Castro
Subotica

Član broj: 143557
Poruke: 87
*.dynamic.sbb.rs.



Profil

icon Re: Problem sa kreiranjem triggera05.02.2012. u 19:36 - pre 148 meseci
Da, jeste bas tako, prijavljivao mi je sledece errcode table SYSTEM.ZDRAVSTVENEKNJIZICE is mutating, trigger/function may not see it...

Hvala za trigger.
 
Odgovor na temu

[es] :: Oracle :: Problem sa kreiranjem triggera

[ Pregleda: 1849 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.