erreur de syntaxe, mais comment faire?
bonjour a tous,
je débute un peu en procédure stocké. j'en ai deja fait un peu en cours sous postGreSQL, mais c'était il y a 2 ans, et depuis rien...
j'ai une erreur :
Code:
#1064 - Erreur de syntaxe près de 'INTEGER' à la ligne 4
voici mon code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| CREATE FUNCTION ajout_reservation (nb_place INTEGER, centr VARCHAR(50), semaine VARCHAR(3)) RETURNS INTEGER
BEGIN
DECLARE dispo INTEGER;
DECLARE maxi INTEGER;
SELECT CONCAT('S',semaine) INTO dispo, CONCAT('S',semaine,'_max') INTO maxi
FROM RESERVATION
WHERE CENTRE = centr;
IF ((dispo + nb_place) < maxi) THEN
UPDATE RESERVATION
SET CONCAT('S',semaine) = CONCAT('S',semaine) + nb_place
WHERE CENTRE = centr;
RETURN 1;
ELSE
RETURN 0;
END IF;
END |
en fait, je gere des compteurs dans la table RESERVATION.
voila le genre de ligne de ma table:
centre1, S28, S28_max, S29, S29_max etc etc
Pour le centre1 on a un nombre de place dispo max pour la S28 (dans S28_max) et le nombre de place réservé ( dans S28).
voila pourquoi dans ma procédure j'ai en parametre le nom du centre, la semaine (uniquement le numero que je concatene), et le nombre de réservation a ajouter
des idées?
merci par avance! :king:
Bastien