Topic: Pubblico
- Composto da 5 Posts di 2 Utenti.
|
19 Ottobre, 2011 09:17
|
#1
|
ic3kym
Utente
Registrato: Sep, 2011
Posts: 8
Offline
|
Salve, volevo chiedere se è possibile creare un trigger che agisca sia sull'insert che sull'update, cioè vorrei creare un trigger che reagisce sia in seguito ad una insert che ad una update. Io ho provato così: CREATE TRIGGER DetectConflicts AFTER INSERT OR UPDATE ON nome_tabella, ma mi da un errore nel comando. Qualcuno di voi ha risolto questo problema? E se si, come si fa? Grazie
|
|
19 Ottobre, 2011 09:30
|
#2
|
g2d
Moderatore
Registrato: Jul, 2008
Posts: 957
Offline
|
Ciao nn mi è mai capitato ma è sicuramente carina come cosa... che errore ti da? Pensa che nella peggiore delle ipotesi ne puoi fare 2 no ? ciao
Un tempo ero algweb ora sono g2d
|
|
19 Ottobre, 2011 09:58
|
#3
|
ic3kym
Utente
Registrato: Sep, 2011
Posts: 8
Offline
|
Errore di sintassi! Avevo già previsto la soluzione di farne due uguali ma pensavo che si potesse ottimizzare con qualche istruzione. Ho un'altra domanda da porre: quando creo un trigger CREATE TRIGGER new_trigger AFTER INSERT ON nome_tabella FOR EACH ROW BEGIN ... END; il trigger viene eseguito su ogni riga della tabella quando viene azionato. Quindi penso che il blocco tra "BEGIN"-"END" viene azionato su ciascuna riga. Come si fa ad accedere ai campi di nome_tabella di ogni riga nella sezione "Begin"-"End"? Grazie
|
|
19 Ottobre, 2011 10:04
|
#4
|
g2d
Moderatore
Registrato: Jul, 2008
Posts: 957
Offline
|
opss.... non ho capito molto bene quello che vuoi dire :-P hai letto questo http://www.mysqlitalia.it/recipes/64-creare-trigger-mysql
Un tempo ero algweb ora sono g2d
|
|
19 Ottobre, 2011 10:21
|
#5
|
ic3kym
Utente
Registrato: Sep, 2011
Posts: 8
Offline
|
Provo a spiegarmi meglio: all'interno del blocco BEGIN-END devo inserire una condizione IF(nome_table.data1=now()) THEN fai_qualcosa... Il problema è proprio nell'accedere alla colonna "data1" per ciascuna riga. Ho provato a scrivere sia come nell'esempio "nome_table.data1" che solo "data1". Quando vado ad eseguire il trigger il seguente errore Unknown table 'nome_table' in field list, oppure Unknown fild 'data1'. Grazie.
|
Condividi su:
Loggati o
Registrati per replicare