voila je suis sur oralce 10g / linux
je fais un update dynamique qui fonctionne correctement , mais je voulais juste vérifier s'il ya pas d'autre solution pour ne pas faire 2 fois lappel de la meme focntion de check voila le code
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
open CUR for 'select rowid,nom,prenom, from client where classe = 100 ';
BEGIN
     requete := 'UPDATE client
                    set flag = DECODE(:1,0,0,1),
                        nb_ligne = :1
  				           WHERE ROWID = :2';
 
      --OPEN CUR;
      LOOP
      FETCH CUR BULK COLLECT INTO lt_ROWID,lt_Nom,lt_prenom LIMIT 1000;
 
          FOR J IN NVL(lt_ROWID.FIRST, 0) .. NVL(lt_ROWID.LAST, -1) LOOP
 
			   execute immediate requete USING VALID_Client(),VALID_Client(), lt_ROWID(J);
 
          END LOOP;
          commit;
      EXIT WHEN CUR%NOTFOUND;
      END LOOP;
      CLOSE CUR;
      EXCEPTION WHEN OTHERS THEN
                    po_LIBERR := 'client invalide: '||SQLCODE||' : '||sqlerrm;
end;
dans ma requête d'update je fais l'appel de l'argument :1 2 fois et j ai vu que ça fonctionné que si je metté la fonction correspondante 2 fois du coups lors de l'exécution la même fonction est exécuter 2 fois pour chaque appel (perte de temps) . je voualis donc savoir si ya pas moyen de l'exécuter une seul fois merci