Trigger e Function mysql[RISOLTO]

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
_Shadow_
Prode Principiante
Messaggi: 122
Iscrizione: venerdì 5 luglio 2013, 18:59
Distribuzione: Xubuntu 14.04.3 LTS
Sesso: Maschile

Trigger e Function mysql[RISOLTO]

Messaggio 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 :)
Ultima modifica di _Shadow_ il mercoledì 28 maggio 2014, 14:45, modificato 1 volta in totale.
_Shadow_
Prode Principiante
Messaggi: 122
Iscrizione: venerdì 5 luglio 2013, 18:59
Distribuzione: Xubuntu 14.04.3 LTS
Sesso: Maschile

Re: Trigger e Function mysql

Messaggio da _Shadow_ »

Ho risolto grazie potete chiudere.
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 3 ospiti