Bonjour,

J'ai 2 tables T1 et T2 avec les valeurs suivantes
T1
p1 p2 p3
1 NULL 100
2 NULL 200

T2
p5 p6 p7
100 toto titi

et j'effectue le code suivant :

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
 
Declare c cursor for
select
p1, p2, p3
from T1
where p3 not in (select p5 from T2)
or p3 is null
or p2 is null
or p2='';
 
open c;
 
fetch c into 
h_p1, h_p2, h_p3;
 
Debut du while
    if h_p1 is null ou h_p1 is not null then -- err1
    if h_p2 is null ou h_p2=''             then -- err2
fetch c into  
  h_p1, h_p2, h_p3;
Fin du while
Je souhaite afficher le message d'erreur err2 pour h_p2=NULL et le message d'erreur err1 pour h_p1="valeur non trouvée dans T2"
Hélas, il affiche le message erreur err1 même si le code existe dans T2.

J'ai essayé plusieurs solutions sans succès.
Avez vous quelques idées, je suis preneur.
Merci.