PDA

View Full Version : [Oracle SQL] trigger e tabelle mutating ..


jobzino
08-05-2008, 13:40
salve ragazzi, vi espongo il mio problema...

ho 2 tabelle A e B
A(codA,codB); A possiede la foreign key di B.
B(codB);

Ho fatto un trigger before delete su B, il cui scopo e' che ogni riga ke viene cancellata da B mi aggiorna dentro A il camppo codB con una altro valore sempre contenuto nella tabella B facendo una select...

Ora il probelma e' che oracle non mi permette di fare questa select sulal tabella che ha scatenato il trigger poiche' dice ke e' in fase di modifica/lettura...

IN dettaglio faccio un esempio in modo che tutto risuklta piu kiaro



TABELLA A
COD A COD B
1 2
2 2
3 50
4 50


Tabella B
COD B
50
2
20
500

Io voglio ke se ad esempio cancello 50 da B metta uno "qualsiasi" degli altri nel campo cod B di A... Questo qualsiasi deve essere pero' scelto da una select...

shinya
08-05-2008, 14:06
Scusa ma perchè devi usare i trigger?
Non puoi prima aggiornare i campi su A e poi cancellare da B?

jobzino
08-05-2008, 14:22
e il valore con cui devo aggiornare dove lo prendo??

gugoXX
08-05-2008, 16:02
Quoto Shinya.
Una bella stored-procedure che accetta in ingresso il valore che devi cancellare.

Dentro la quale scrivi prima il codice che avresti scritto nel trigger
E poi scrivi la delete che ci si aspetta.