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 codedans 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
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;
Partager