Bonjour,
Voici mon premier message sur developpez.net !
J'ai cherché un bon moment sans trouver de réponses qui soit plus ou moins lié a mon problème... Si jamais vous trouvez un sujet qui parle déjà de ce soucis, j'en suis désolé ...

Alors voilà, je voudrai incrémenter ma variable v_no_rdv à chaque loop du cursor. De plus, cette variable doit débuter à partir de la valeur maximum de NOTRA.

Pour que vous compreniez un peu plus mon délire:
J'ai crée un bouton dans une application php qui va appelé mon curseur.
Celui ci sert à copier les champs de certaines tables et de les coller dans une autre. Ma PK de cette autre table étant NOTRA, il faut qu'il soit unique! Pour cette raison, je dois récupérer le NOTRA max, la copier dans ma variable v_no_rdv et ensuite l'incrémenter à chaque lignes trouvé par le curseur Euh..J'espère que j'ai été assez compréhensible ? :/

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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
 
CREATE OR REPLACE PROCEDURE TEMP IS
    v_rdv_no NUMBER;
    v_ben_no VARCHAR2(7);
    v_nom VARCHAR2(32);
    v_prenom VARCHAR2(30);
    v_ddnpatient DATE;
    v_sexepatient VARCHAR2(1);
    v_modetransport VARCHAR2(3);
 
CURSOR imp_SIH IS
SELECT   MAX (RDV.BRAN_TRANSPORT.NOTRA),
              DIM.BEN.BEN_NO,
              DIM.BEN.BEN_NOM_USUEL,
              DIM.BEN.BEN_PRENOM_USUEL,
              DIM.BEN.BEN_DDN,
              DIM.BEN.BEN_SEXE_APP,
              RDV.RDV_TRANS.TRANS_CODE  
 
FROM DIM.BEN,RDV.RDV_TRANS,RDV.BRAN_TRANSPORT,RDV
WHERE RDV.BENEF_NO = DIM.BEN.BEN_NO
AND RDV.RDV_NO = RDV.RDV_TRANS.RDV_NO
AND DIM.BEN.BEN_PRENOM_USUEL LIKE '%AIDEZMOISVP%';
 
 
BEGIN
OPEN imp_SIH;
 
LOOP
 
FETCH imp_SIH
 
INTO    v_rdv_no,
           v_ben_no,
           v_nom,
           v_prenom,
           v_ddnpatient,
           v_sexepatient,
           v_modetransport;
 
 
 
INSERT INTO BRAN_TRANSPORT ( NOTRA, NOMPATIENT, PRENOMPATIENT, typetransport, servicedepart, servicearrivee,MODETRANSPORT,DDNPATIENT,NOPATIENTSIH,regulation,SEXEPATIENT ) VALUES (v_rdv_no ,v_nom, v_prenom, 'A', 9 , 7, v_modetransport,v_ddnpatient ,v_ben_no,1,v_sexepatient);
 
EXIT WHEN  imp_SIH%NOTFOUND;
END LOOP;
CLOSE imp_SIH;           
 
 
commit;
 
 
    EXCEPTION
     WHEN NO_DATA_FOUND THEN
       NULL;
     WHEN OTHERS THEN
       -- Consider logging the error and then re-raise
       RAISE;
END TEMP;
/
Merci d'avance !

PS: vous remarquerez que pour mon premier message les balises code sont présentent contrairement à beaucoup d'autres messages