Je ne sais pas comment ça se passe sur Oracle, mais sur Sybase/SQL Server, il ne faut pas tester NULL avec une (in)égalité, vu que c'est une valeur non définie.
On utilise un truc du style : "if ( chaine is not null ) then ..."
Y a pas une siouxerie du genre en PL/SQL ?
Si tu ecris if( chaine is not null) en tout cas ça fonctionne.