Bonjour,
J'ai conscience que l'intitulé de la question est mal formulé, mais je n'ai pas trouvé mieux.
J'ai crée une procédure stockée (le code suit) dans laquelle j'effectue une requête simple qui ne me renvoit pas du tout l'élément attendue.
Ceci n'est qu'un extrait de la PS histoire de pas noyer le poisson
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
31
32 PROCEDURE TOTO IS EXCEPTION_FONCTIONNELLE EXCEPTION; CODEECT varchar2(3); CODESTOCKECT number(6) :=0; BEGIN dbms_output.put_line('Debut du traitement'); FOR LISTE_CARNET IN ( SELECT WC.CARNETDEB AS NUMCARNET, WC.ECTNUM AS ECT, WC.RESIDCODE AS RES, WC.AGENTCP AS NUMCP, WL.LIVRDATE AS DATEDEBUT, WC.LIVREF AS NUMBL FROM W_AMN_CARNET WC, W_AMN_LIVRAISON WL ) LOOP SELECT E.CODEECT INTO CODEECT FROM TRS_OECT E WHERE E.CODENUM = LISTE_CARNET.ECT; SELECT T.CODESTOCK INTO CODESTOCKECT FROM TRS_CCSTOCK T WHERE T.CODEECT = CODEECT AND T.CODERESIDENCE IS NULL AND T.NUMCP iS NULL; END LOOP; EXCEPTION WHEN EXCEPTION_FONCTIONNELLE THEN ROLLBACK; RAISE; WHEN TOO_MANY_ROWS THEN ROLLBACK; RAISE; WHEN OTHERS THEN ROLLBACK; RAISE; END TOTO;![]()
Bon, il s'agit de la requête suivante qui ne renvoie pas le bon résultat
Je suis censé récupéré un seul enregistrement (la même requête executée unitairement avec le codeect remplacé par sa valeur supposée 'TOT' fonctionne).
Code : Sélectionner tout - Visualiser dans une fenêtre à part SELECT T.CODESTOCK INTO CODESTOCKECT FROM TRS_CCSTOCK T WHERE T.CODEECT = CODEECT AND T.CODERESIDENCE IS NULL AND T.NUMCP iS NULL;
Or, dans la PS, cette requête me renvoie le même résultat que la requête suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part SELECT T.CODESTOCK INTO CODESTOCKECT FROM TRS_CCSTOCK T WHERE T.CODERESIDENCE IS NULL AND T.NUMCP iS NULL;![]()
J'ai beau cherché, je ne vois pas...
Quelqu'un verrait-il ce que je ne vois pas?
Partager