2010-07-16 3 views
1

Je me demande s'il existe un moyen de différencier les messages d'avertissement et les messages d'erreur dans Oracle? Un message d'avertissement compte-t-il en tant qu'exception? Sont avertissement juste des erreurs? Y a-t-il une différence évidente? Et si oui, existe-t-il un moyen d'attraper les messages d'avertissement explicitement, ou des messages d'information?Différencier entre les messages d'erreur et d'avertissement Oracle

Merci pour tout conseil.

Répondre

2

Oracle lui-même ne déclenche pas de messages d'avertissement ou d'information, seulement des exceptions pour les messages d'erreur. Cependant, il a une certaine information que vous pouvez interroger en PL/SQL telles que:

SQL% ROWCOUNT:

update emp 
set sal = sal+1000 
where depno = 10; 

if sql%rowcount = 0 then 
    -- no rows got updated 
    ... 

curseur% NOTFOUND:

loop 
    fetch mycursor into myvar; 
    exit when mycursor%notfound; 
end loop; 
+0

Donc, contrairement à MS SQL Server, vous n Ne pas récupérer les avertissements/messages d'information lors de l'exécution, seulement des erreurs? – tuseau

+0

À peu près. Si vous êtes dans SQL Plus, vous verrez des "messages" comme "5 lignes sélectionnées" et "procédure PL/SQL terminée avec succès". mais ceux-ci proviennent de l'application SQL Plus elle-même, pas de la base de données. –

+0

Merci, ça aide beaucoup. – tuseau

Questions connexes