Problème SELECT COUNT imbriqué dans une Procédure
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 :
Code:
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; |
Si j'affiche juste derrière le contenu de mes variables avec 'dbms_output.put_line' le contenu est correct.
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.