Bonjour,

Je viens de découvrir un souci sur mon code.
Soit le code suivant exécuté par l'utilisateur lambda:
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;
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.....
voici le résultat :
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
Pourquoi je ne passe pas par mon bloc d'exception avec une exception -942?.
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