Pagina 1 di 1

Trigger e Function mysql[RISOLTO]

Inviato: mercoledì 28 maggio 2014, 14:24
da _Shadow_
Buon pomeriggio, sono alle prime armi con i trigger e le funzioni. Quello che vorrei fare: Definire una trigger che assicuri la validità del seguente vincolo semantico: non ci possono essere più di 256 utenti. Ho scritto questo trigger e questa funciont:

Codice: Seleziona tutto

CREATE FUNCTION NumUtenti() RETURNS INT
BEGIN
   DECLARE conta INT;
   SELECT COUNT(*) INTO conta FROM Utenti;
   RETURN conta
END

CREATE TRIGGER MaxUsers 
BEFORE INSERT ON Utenti FOR EACH ROW
BEGIN
    IF(NumUtenti() >= 7)
      THEN INSERT INTO Utenti VALUES (NULL,'pluto')
    END IF;
END;
Quando carico il trigger mi da il seguente errore:

Codice: Seleziona tutto

mysql> source trigger.sql;
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 '' at line 3
ERROR 1327 (42000): Undeclared variable: conta
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 'RETURN conta
END

CREATE TRIGGER MaxUsers 
BEFORE INSERT ON Utenti FOR EACH ROW
' at line 1
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 'END' at line 1
Non riesco a capire bene dove sia l'errore, riuscite a darmi una mano per favore?

Grazie mille.
Buona Giornata :)

Re: Trigger e Function mysql

Inviato: mercoledì 28 maggio 2014, 14:45
da _Shadow_
Ho risolto grazie potete chiudere.