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.
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;
Ceci n'est qu'un extrait de la PS histoire de pas noyer le poisson
Bon, il s'agit de la requête suivante qui ne renvoie pas le bon résultat
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;
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).
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?