Bonjour,
Je viens de découvrir un souci sur mon code.
Soit le code suivant exécuté par l'utilisateur lambda:
il se trouve que si lambda n'a pas l'autorisation de consulter la table matable du schéma user1, une exception est levée, mais elle n'est pas attrapée par mon bloc exception when others.....Code:
1
2
3
4
5
6
7
8
9
10
11
12 declare nb integer; message varchar(100); begin select count(*) into nb from user1.matable; dbms_output.put_line(nb); exception when others then message:=sqlcode || ' - ' || sqlerrm; dbms_output.put_line(message); end;
voici le résultat :
Pourquoi je ne passe pas par mon bloc d'exception avec une exception -942?.Citation:
ORA-06550: line 5, column 42:
PL/SQL: ORA-00942: table or view does not exist
ORA-06550: line 5, column 3:
PL/SQL: SQL Statement ignored
Si je remplace la requête par un select ne ramenant aucune ligne sur une table sur laquelle j'ai accès, ça marche sans problème.
Merci pour les réponses