|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Oct 2007
Messaggi: 34
|
[Oracle SQL] trigger e tabelle mutating ..
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... |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
|
Scusa ma perchè devi usare i trigger?
Non puoi prima aggiornare i campi su A e poi cancellare da B?
__________________
-> The Motherfucking Manifesto For Programming, Motherfuckers |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Oct 2007
Messaggi: 34
|
e il valore con cui devo aggiornare dove lo prendo??
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
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.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 01:04.



















