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 : Sélectionner tout - Visualiser dans une fenêtre à part
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?.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
Partager