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 : Sélectionner tout - Visualiser dans une fenêtre à part
#1064 - Erreur de syntaxe près de 'INTEGER' à la ligne 4
voici mon code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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!

Bastien