Ho cercato sul Web come utilizzare "before trigger" in sqlite. Conosco correttamente l'uso di "after trigger". Ho trovato quello che diceva che "before trigger" è stato usato per validare prima di ogni modifica apportata al database (riga insert/updat nella tabella). Per cancellare l'espressione, ho scritto un trigger in cui il tipo è prima e l'evento è inserito per validare il segno prima di inserirlo. mio trigger èCome convalidare prima del trigger di inserimento in sqlite
create trigger mark_insert before insert on exam
when mark<=50
begin
insert into exam(mark) values(50);
end;
forse è grilletto sbagliato. Quindi, potresti indicarmi gli errori? Voglio controllare se è inferiore o uguale a 50. Se è così, voglio inserire il valore di default (in questo caso, 50). Non ho molta familiarità con SQL e trigger e sto iniziando a imparare.
Il mio tavolo esame ha seguenti colonne,
id(pk) | subject | mark
grazie per il vostro aiuto. Ma ho ricevuto questo errore: nessun segno di colonna di questo tipo. È dovuto a raise()? Puoi spiegare la funzione di sollevamento? Grazie in anticipo. – waiyan
'raise' è come si genera un errore all'interno di un trigger. http://www.sqlite.org/lang_createtrigger.html –
Dopo l'istruzione SELECT, ';' è richiesto. –