Bonjour,
j'ai une erreur de parenthèse dans ma procédure, j'ai conscience que ce n'est pas forcément un problème sympa à poser ici mais je ne vois tellement pas ou est mon erreur que je demande votre aide.
mon erreur se situe à la ligne 34 qui correspond à l"execute immediat " en rouge
merci pour votre aide
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 FOR I IN LISTE_DEP.FIRST..LISTE_DEP.LAST LOOP V_QUERY:= 'UPDATE SCHNEIDER.TABDSM SET ST_P_'||LISTE_DEP(I)|| '=(SELECT LIBELLE_STATUT_PRESENCE FROM INPN.repartition_abdsm WHERE TABDSM.CD_REF=INPN.repartition_abdsm.CD_NOM and INPN.repartition_abdsm.CD_SIG=''INSEED'||LISTE_DEP(I)||''') WHERE EXISTS (SELECT LIBELLE_STATUT_PRESENCE FROM INPN.repartition_abdsm WHERE TABDSM.CD_REF=INPN.repartition_abdsm.CD_NOM and INPN.repartition_abdsm.CD_SIG=''INSEED'||LISTE_DEP(I)||''')'; DBMS_OUTPUT.PUT_LINE(V_QUERY); DBMS_OUTPUT.PUT_LINE(''); EXECUTE IMMEDIATE V_QUERY; V_QUERY:= 'UPDATE TABDSM SET ST_P_'||LISTE_DEP(I)||' = REPLACE (REPLACE(REPLACE(REPLACE(REPLACE(''ST_P_'||LISTE_DEP(I)||''',''Présence certaine'',''P''),''Présence probable'',''P''),''Absence liée à une disparition avérée'', ''A''),''Absence probable ou certaine'',''A''),''Pas d''information'', ''?'')'; DBMS_OUTPUT.PUT_LINE(V_QUERY); DBMS_OUTPUT.PUT_LINE(''); EXECUTE IMMEDIATE V_QUERY; V_QUERY:= 'UPDATE TABDSM SET ST_P_'||LISTE_DEP(I)|| '=''P'' where CD_REF IN(Select cd_nom from TABDSM, INPN.SYNTHESE_DEPARTEMENTS where CD_REF=INPN.SYNTHESE_DEPARTEMENTS.CD_NOM and CD_SIG_DEP=''INSEED'||LISTE_DEP(I)||''' and DATE_SUP>''01/01/1950'')'; EXECUTE IMMEDIATE V_QUERY; END LOOP; END;
Partager