Varför fungerar inte följande kod:
delimiter //
DROP TRIGGER IF EXISTS newtransaction //
CREATE TRIGGER newtransaction AFTER INSERT ON transactions
FOR EACH ROW BEGIN
IF NEW.type = 1 THEN
DECLARE stname VARCHAR(15);
SELECT sname INTO stname FROM stockp WHERE stock = NEW.stock;
END IF;
END;
//
delimiter ;
Jag får felet:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DECLARE stname VARCHAR(15);
END IF;
END' at line 6
Den verkar inte ta DECLARE i min trigger? Om jag skippar DECLARE så får jag istället det logiska felet att stname inte är deklarerad (när den tolkar SELECT ... INTO-raden).
Jag kör: mysql-server-5.0.45