Samedi 14 mai 2011 6 14 /05 /Mai /2011 10:08

 

Oracle PL/SQL Liste des Erreurs gérée dans le BLOC EXCEPTION.

Comment gérer les erreurs dans un bloc PL/SQL ?
Avec la gestion des EXCEPTIONS. Les erreurs d’exécutions dans un bloc PL/SQL peuvent être multiples (erreurs système, erreurs Oracle, erreurs de codage, dépassement de limite,...)
PL/SQL a un mécanisme de gestion des erreurs qui permet de traiter ces évènements dans le BLOC EXCEPTION.

 

Liste des EXCEPTIONS PL/SQL.

EXCEPTIONS

 ERROR_ORA 

 SQLCODE 

Description

ACCESS_INTO_NULL ORA-06530 -6530 Un programme tente d'attribuer des valeurs aux attributs d'un objet non initialisé
CASE_NOT_FOUND ORA-06592 -6592 Aucun des choix dans les clauses WHEN d'une instruction CASE est sélectionné, et il n'ya pas de clause ELSE
COLLECTION_IS_NULL ORA-06531 -6531 Un programme tente d'appliquer les méthodes de collecte autres que celle qui existe à une table imbriquée non initialisée ou VARRAY, ou le programme tente d'attribuer des valeurs aux éléments d'une table imbriquée non initialisée ou VARRAY.
CURSOR_ALREADY_OPEN ORA-06511 -6511 Un programme tente d'ouvrir un curseur déjà ouvert. Un curseur doit être fermé avant d'être rouvert. Une boucle de curseur FOR ouvre automatiquement le curseur sur laquelle il se réfère, afin que votre programme ne peut pas ouvrir ce curseur à l'intérieur de la boucle.
DUP_VAL_ON_INDEX ORA-00001 -1 Un programme tente de stocker des valeurs en double dans une colonne qui est contraint par un index unique.
INVALID_CURSOR ORA-01001 -1001 Un programme tente une opération de curseur qui n'est pas autorisé, comme la fermeture d'un curseur non ouvert.
INVALID_NUMBER ORA-01722 -1722 Dans une instruction SQL, la conversion d'une chaîne de caractères en un nombre échoue parce que la chaîne ne représente pas un nombre valide. (Dans les déclarations de procédure, VALUE_ERROR est soulevée.) Cette exception est également soulevée lorsque l'expression LIMIT-clause dans un communiqué en vrac FETCH n'évalue pas à un nombre positif.
LOGIN_DENIED ORA-01017 -1017 Un programme tente de se connecter à Oracle avec un nom d'utilisateur ou mot de passe invalide
NO_DATA_FOUND ORA-01403 100 Une instruction SELECT INTO ne renvoie aucune ligne, ou vos références programme un élément supprimé dans une table imbriquée ou un élément non initialisée dans un index par table
NOT_LOGGED_ON ORA-01012 -1012 Un programme lance un appel à la base de données sans être connecté à Oracle
PROGRAM_ERROR ORA-06501 -6501 PL / SQL à un problème interne
ROWTYPE_MISMATCH ORA-06504 -6504 La variable de curseur d'accueil et PL / SQL variable de curseur impliqués dans une mission ont des types de retour incompatibles. Quand une variable hôte ouvert le curseur est passé à une procédure stockée sous-programme, les types de retour des paramètres réels et formels doivent être compatibles
SELF_IS_NULL ORA-30625 -30625 Un programme tente d'appeler une méthode membre, mais l'instance du type d'objet n'a pas été initialisé. Le haut-paramètre AUTO points à l'objet, et est toujours le premier paramètre passé à une méthode MEMBRES
STORAGE_ERROR ORA-06500 -6500 PL / SQL est à court de mémoire ou la mémoire a été endommagée.
SUBSCRIPT_BEYOND_COUNT ORA-06533 -6533 Un programme de références d'une table imbriquée ou VARRAY élément utilise un numéro d'index plus grand que le nombre d'éléments dans la collection
SUBSCRIPT_OUTSIDE_LIMIT ORA-06532 -6532 Un programme de références d'une table imbriquée ou VARRAY élément utilise un numéro d'index (-1 par exemple) qui est en dehors de l'intervalle légal
SYS_INVALID_ROWID ORA-01410 -1410 La conversion d'une chaîne de caractères dans un rowid universel échoue parce que la chaîne de caractères ne représente pas un rowid valide
TIMEOUT_ON_RESOURCE ORA-00051 -51 TIMEOUT car Oracle est en attente d'une ressource
TOO_MANY_ROWS ORA-01422 -1422 Un SELECT INTO retourne plus d'une ligne
VALUE_ERROR ORA-06502 -6502 Une opération arithmétique, de conversion, de truncate, ou d'une erreur de taille de contrainte se produit. Par exemple, lorsque votre programme sélectionne une valeur de colonne dans une variable de caractères, si la valeur est supérieure à la longueur déclarée de la variable, PL / SQL annule la cession et soulève VALUE_ERROR. Dans des déclarations de procédure, VALUE_ERROR est levée si la conversion d'une chaîne de caractères en un nombre échoue. (Dans une requête SQL, INVALID_NUMBER est levée.)
ZERO_DIVIDE ORA-01476 -1476 Un programme tente de diviser un nombre par zéro


Liens en rapport avec l'article et qui sont susceptibles de vous intéresser
• Oracle PL-SQL Structure d'un BLOC
• Oracle PL-SQL SELECT INTO
• Oracle PL-SQL Variables %TYPE %ROWTYPE
Par Daniel Roesch - Publié dans : ORACLE PLSQL
Ecrire un commentaire - Voir les 0 commentaires
Retour à l'accueil

Rechercher Articles Oracle SQL sur ce Site.

Loading

À lire aussi…

Download PDF Oracle

Rechercher sur le site

Oracle 10G - DBA -

Syndication

  • Flux RSS des articles
Contact - C.G.U. - Rémunération en droits d'auteur - Signaler un abus - Articles les plus commentés