[quote name="Nex
?":3rnh5ub6] [quote name='"toyo
?":3rnh5ub6]guarda che non è un for' date=' è un "fai sta roba per tutte le righe che vengono cambiate", e di solito è una sola
[/quote']
A parte che non è esattamente così, comunque l'avevo scritto sopra.
Il punto è che a livello logico è sbagliato e se fai 'ste cappellate poi ti capita di infilarle anche nel codice normale...[/quote]
ok, ma per una roba così
CREATE TRIGGER tr_incasso BEFORE UPDATE ON Storico_vendite
FOR EACH ROW
BEGIN
DECLARE prezzo_n FLOAT;
DECLARE prezzo_ns FLOAT;
DECLARE prezzo_r FLOAT;
DECLARE prezzo_rs FLOAT;
DECLARE prezzo_c FLOAT;
DECLARE prezzo_cs FLOAT;
DECLARE totale FLOAT;
SELECT prezzo FROM Biglietti WHERE tipo="normale" into prezzo_n;
SELECT prezzo FROM Biglietti WHERE tipo="normale_s" into prezzo_ns;
SELECT prezzo FROM Biglietti WHERE tipo="ridotto" into prezzo_r;
SELECT prezzo FROM Biglietti WHERE tipo="ridotto_s" into prezzo_rs;
SELECT prezzo FROM Biglietti WHERE tipo="comitiva" into prezzo_c;
SELECT prezzo FROM Biglietti WHERE tipo="comitiva_s" into prezzo_cs;
SET NEW.incasso=(prezzo_n*NEW.normale) + (prezzo_ns*NEW.normale_s) + (prezzo_r*NEW.ridotto) + (prezzo_rs*NEW.ridotto_s) + (prezzo_c*NEW.comitiva) + (prezzo_cs*NEW.comitiva_s);
END;
come fai senza i declare?