Bonjour, je suis en train d'essayer de faire une procédure stockée mais lorsque je l'éxécute dans SQL/PLUS, j'ai l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
Avertissement : Procédure créée avec erreurs de compilation.
Le code de ma procédure stockée est :
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
 
CREATE OR REPLACE PROCEDURE ps_concat_crit(IN etab_naiss integer,IN no_immeuble integer,IN no_lot char(5)) AS
 
CURSOR GetCrit IS SELECT * FROM P_DESG WHERE  DSG_Domaine_Appli='Lot' AND DSG_No_Etab_Nais=etab_naiss AND DSG_No_Immeuble=no_immeuble AND DSG_No_Lot=no_lot;
CURSOR existEnreg IS SELECT COUNT(*) FROM T_Lots_crit WHERE TLC_No_Etab_Naiss=etab_naiss AND TLC_No_Imm=no_immeuble AND TLC_No_Lot=no_lot;
 
crits varchar2;
niu_courant P_DESG%ROWTYPE;
NbEnreg integer;
 
BEGIN
 
 FOR niu_courant IN GetCrit
 LOOP
   crits := ltrim(rtrim(crits)) || 'NIU' || niu_courant.DSG_NIU || '=' || niu_courant.DSG_Valeur_descriptif || ';';
 END LOOP;
 
 FOR NbEnreg IN existEnreg
 LOOP
  IF NbEnreg=0 THEN
    INSERT INTO T_Lots_crit(TLC_No_Etab_Naiss,TLC_No_Imm,TLC_No_Lot,TLC_Crit) VALUES (etab_naiss,no_immeuble,no_lot,crits);
  ELSE
    UPDATE T_Lots_crit SET TLC_Crit=crits WHERE TLC_No_Etab_Naiss=etab_naiss AND TLC_No_Imm=no_immeuble AND TLC_No_Lot=no_lot;
  END IF; 
 END LOOP;
END;
Si quelqu'un a une idée ou une piste pour que j'arrive a compiler cette procédure stockée correctement je suis preneur.
Merci d'avance.