Bonjour,

Pouvez-vous m'aider s'il vous plaît ?

Je viens d'écrire ce trigger dont le corps correspond à cela :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
Begin      
if (ora_login_user <> 'SYS' and ora_login_user <> 'SYSTEM' and ora_login_user <> 'DBSNMP' and ora_login_user <> 'SYSMAN' ) then      
 
if (ora_dict_obj_type <> 'VIEW' or ora_sysevent <> 'CREATE') then    
 
RAISE_APPLICATION_ERROR(-20998, 'Opération interdite',false);      
 
end if;     
end if;      
End;
Il me semble que c'est un trigger très simple. Pourtant j'ai ce retour :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
Error: ORA-00604: error occurred at recursive SQL level 1
ORA-20998: Opération interdite.
ORA-06512: at line 6
 
SQLState:  60000
ErrorCode: 604
Ce que je souhaite obtenir c'est juste l'erreur 20998 et pas les deux autres. J'ai regardé de mon côté, on parle souvent de traitement de la pile d'erreur. Mais je n'ai pas encore trouvé de solution.

Merci pour votre aide.

Floxone.