Paulthecer
15-04-2008, 12:16
Ciao a tutti,
ho problema... Devo realizzare una stored procedure in mysql che al verificarsi di una condizione mi stampi un messaggio di errore. Ho visto che esiste per PostgreSQL il comando RAISE EXCEPTION e volevo sapere se esiste un comando equivalente in MySql e come si usa. Brutalmente ho provato ad usare RAISERROR, ma non funziona.
HELP ME!!!!!!!
lo spaccato di codice deve semplicemente fare:
DELIMITER $$
DROP PROCEDURE IF EXISTS `multisala`.`checkbill` $$
CREATE PROCEDURE `multisala`.`checkbill` ()
BEGIN
DECLARE idu, conto INT;
SELECT UID FROM prenotazione WHERE IDPREN = (SELECT MAX(IDPREN) FROM prenotazione) INTO idu;
SELECT Saldo FROM utente WHERE UID = idu INTO conto;
IF conto > 0.20 THEN
UPDATE prenotazione SET Saldo = conto - 0.20;
ELSE
RAISERROR ('Saldo insufficiente')
END IF;
END $$
DELIMITER ;
ho problema... Devo realizzare una stored procedure in mysql che al verificarsi di una condizione mi stampi un messaggio di errore. Ho visto che esiste per PostgreSQL il comando RAISE EXCEPTION e volevo sapere se esiste un comando equivalente in MySql e come si usa. Brutalmente ho provato ad usare RAISERROR, ma non funziona.
HELP ME!!!!!!!
lo spaccato di codice deve semplicemente fare:
DELIMITER $$
DROP PROCEDURE IF EXISTS `multisala`.`checkbill` $$
CREATE PROCEDURE `multisala`.`checkbill` ()
BEGIN
DECLARE idu, conto INT;
SELECT UID FROM prenotazione WHERE IDPREN = (SELECT MAX(IDPREN) FROM prenotazione) INTO idu;
SELECT Saldo FROM utente WHERE UID = idu INTO conto;
IF conto > 0.20 THEN
UPDATE prenotazione SET Saldo = conto - 0.20;
ELSE
RAISERROR ('Saldo insufficiente')
END IF;
END $$
DELIMITER ;