Bonjour,
je travaille sur la gestion d'une bdd de gestion de partie de tarot.
La dernière procedure qui met à jour les résultats ne marche pas, elle n'insère qu'un seul enregistrement.
J'ai tourné le pb dans tous les sens et je ne voie pas où est l'erreur.
Si quelqu'un peut m'aider.
Voici le code que j'ai trouvé
/* procédure stockée qui remplit la table résultat avec les scores des joueurs */
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
26
27
28
29
SET TERM ^;
CREATE PROCEDURE PS_MAJ_RESULTAT(NUMERO_PARTIE INTEGER,NUMERO_DONNE INTEGER )
RETURNS
AS
DECLARE VARIABLE NUM_LICENCE CHAR(10);
DECLARE VARIABLE POINT_DONNE DECIMAL(2,1);
DECLARE VARIABLE POINT_POIGNEE DECIMAL(2,1);
DECLARE VARIABLE POINT_PETIT DECIMAL(2,1);
DECLARE VARIABLE POINT DECIMAL(2,1);
BEGIN
FOR SELECT POINT_DONNE,NUMERO_LICENCE
    FROM PS_POINT_DONNE(:NUMERO_PARTIE,:NUMERO_DONNE )
    INTO :POINT_DONNE,:NUM_LICENCE
    DO
    BEGIN
     SELECT POINT_PETIT
     FROM PS_POINT_PETIT(:NUMERO_PARTIE,:NUMERO_DONNE)
     WHERE NUMERO_LICENCE=:NUM_LICENCE
     INTO :POINT_PETIT;
     SELECT POINT_POIGNEE
     FROM PS_POINT_POIGNEE(:NUMERO_PARTIE,:NUMERO_DONNE)
     WHERE NUMERO_LICENCE=:NUM_LICENCE
     INTO :POINT_POIGNEE;
     POINT=POINT_DONNE+POINT_PETIT+POINT_POIGNEE;
     INSERT INTO RESULTAT VALUES (:POINT,:NUMERO_PARTIE,:NUMERO_DONNE,:NUM_LICENCE);
     SUSPEND;
    END
END^
SET TERM ;^
Merci d'avance

Edité par Barbibulle : Pensez à utiliser les balises Codes pour que votre message soit plus lisible.