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 :
Le code de ma procédure stockée est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Avertissement : Procédure créée avec erreurs de compilation.
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.
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;
Merci d'avance.
Partager