il trigger così corretto viene creato, il codice che ho inserito è il seguente:
codice:
DELIMITER //
CREATE TRIGGER VerificaOfficinaBI
BEFORE INSERT ON Veicolo
FOR EACH ROW BEGIN
DECLARE abilitazioneOf CHAR(2);
SELECT gestioneMotorini INTO abilitazioneOf FROM Officina WHERE IDof=NEW.officina;
SET abilitazioneOf=gestioneMotorini;
IF
NEW.tipo='motorino' AND abilitazioneOf!='si' THEN
SET NEW.tipo=null;
END IF;
END;
//
però c'è un problema, ho inserito i seguenti campi nella tabella officina :
codice:
mysql> INSERT INTO Officina(IDof,gestioneMotorini,indirizzo)
VALUES(1234567,'si','via della peppa 9');
Query OK, 1 row affected (0.05 sec)
mysql> INSERT INTO Officina(IDof,gestioneMotorini,indirizzo)
VALUES(2234567,'no','viale della nonna 12');
Query OK, 1 row affected (0.03 sec)
mysql> select * from officina;
+---------+------------------+----------------------+
| IDof | gestioneMotorini | indirizzo |
+---------+------------------+----------------------+
| 1234567 | si | via della peppa 9 |
| 2234567 | no | viale della nonna 12 |
+---------+------------------+----------------------+
e ho preparato i seguenti da mettere nella tabella veicolo di cui la prima riga deve essere accettata e la seconda rifiutata :
codice:
INSERT INTO veicolo(IDve,tipo,officina) VALUES(12345,'motorino','1234567'); OK
INSERT INTO veicolo(IDve,tipo,officina) VALUES(22345,'motorino','2234567'); Rj
ma con entrambe mi dà il seguente errore :
codice:
ERROR 1054 (42S22): Unknown column 'gestioneMotorini' in 'field list'
da cosa dipende?