Bonjour,
Je rencontre un problème lorsque j'essaie de faire un COUNT au milieu d'une procédure stockée.
(je vous passe une partie de la proc stoc qui est assez longue, mais toutes les variables sont correctement déclarées.)
Voici cette requête :
Si j'affiche juste derrière le contenu de mes variables avec 'dbms_output.put_line' le contenu est correct.
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 ... nval INTEGER; ... lst_jalons := typ_tab (...); -- contient 3 elements lst_type_jalons := typ_tab (...); -- contient 2 elements FOR i IN 1 .. 3 LOOP FOR j IN 1 .. 2 LOOP SELECT COUNT(1) INTO nval FROM t_aff_planif ap, t_ind_affaires ia WHERE lst_jalons(i) IS NOT NULL AND ap.aff_type_planif = ''''||lst_type_jalons(j)||'''' AND ia.ind_id = cur.ind_id AND ia.ctre_id = pctre_id AND ia.ind_an = ''''||nannee||'''' AND ia.ind_mois = ''''||nmois||'''' AND ap.aff_id = ia.aff_id; njalnum := njalnum + nval; END LOOP; END LOOP;
Mais 'nval' reste définitivement égal à 0, alors que manuellement et isolée, la même requete me retourne bien un nombre.
J'ai également essayé plusieurs écriture pour faire ce 'SELECT' avec notamment la méthode EXECUTE IMMEDIATE.
Mais même résultat.
Merci de votre aide.
Partager