Raise_application_error est-il annulé ?
Raise_application_error est-il annulé ?

Vidéo: Raise_application_error est-il annulé ?

Vidéo: Raise_application_error est-il annulé ?
Vidéo: 9. Отправьте сообщение об ошибке для конкретного приложения с RAISE_APPLICATION_ERROR. 2024, Novembre
Anonim

À l'intérieur d'un déclencheur un RAISE_APPLICATION_ERROR ne pas effectuer un RETOUR EN ARRIERE , il interrompt l'opération en cours, c'est-à-dire un seul UPDATE/INSERT/DELETE. UNE Retour en arriere annule toutes les modifications dans la transaction en cours (ou jusqu'à un point de sauvegarde donné), c'est différent.

De cette façon, qu'est-ce que Raise_application_error ?

Répond à augmenter_erreur_application est en fait une procédure définie par Oracle qui permet au développeur de lever une exception et d'associer un numéro d'erreur et un message à la procédure. Oracle fournit le augmenter_erreur_application procédure pour vous permettre d'augmenter les numéros d'erreur personnalisés dans vos applications.

De plus, que se passe-t-il lorsqu'une instruction rollback est exécutée à l'intérieur d'un déclencheur ? Quand le gâchette déclenche la transaction en cours n'est toujours pas terminée. Comme COMMIT met fin à une transaction leur permettant dans les déclencheurs serait briser l'unité de travail. Alors change exécuté dans un déclencheur sont validés (ou annulés) par la transaction propriétaire qui a émis le DML qui a déclenché le gâchette.

De ce fait, quelle est la différence entre Pragma Exception_init et Raise_application_error ?

pragma exception init transforme une erreur Oracle en une exception nommée. Si une opération de base de données génère un ORA-00054 "ressource occupée", vous devrez coder:. Raise_application_error est utilisé pour RAISE une erreur - exception_init est utilisé pour traiter les erreurs (je suppose que vous pourriez dire qu'ils sont opposés dans un manière).

Qu'est-ce que Sqlerrm ?

SQLERRM Fonction. La fonction SQLERRM renvoie le message d'erreur associé à son argument numéro d'erreur. Si l'argument est omis, il renvoie le message d'erreur associé à la valeur actuelle de SQLCODE. SQLERRM sans argument n'est utile que dans un gestionnaire d'exceptions.

Conseillé: