Wordt Raise_application_error teruggedraaid?
Wordt Raise_application_error teruggedraaid?

Video: Wordt Raise_application_error teruggedraaid?

Video: Wordt Raise_application_error teruggedraaid?
Video: VOLK MOET EISEN DAT HET TERUGGEDRAAID WORDT ZEGT BOUVA OVER KWESTIE SABAKU- PROJECT 2024, November
Anonim

Binnen een trigger a RAISE_APPLICATION_ERROR doet niet uitvoeren TERUGROLLEN , wordt de huidige bewerking afgebroken, d.w.z. een enkele UPDATE/INSERT/DELETE. EEN Terugrollen zet alle wijzigingen binnen de huidige transactie terug (of tot een gegeven Savepoint), dat is anders.

Wat is op deze manier Raise_application_error?

Beantwoord de raise_application_error is eigenlijk een procedure gedefinieerd door Oracle waarmee de ontwikkelaar een uitzondering kan maken en een foutnummer en bericht aan de procedure kan koppelen. Oracle biedt de raise_application_error procedure waarmee u aangepaste foutnummers binnen uw toepassingen kunt verhogen.

Bovendien, wat gebeurt er wanneer een rollback-instructie wordt uitgevoerd binnen een trigger? Wanneer de trekker wordt geactiveerd, is de huidige transactie nog steeds niet voltooid. Als COMMIT een transactie beëindigt waardoor ze in triggers zou de werkeenheid breken. Dus veranderingen uitgevoerd in een trigger worden gepleegd (of teruggedraaid) door de eigenaarstransactie die de DML heeft uitgegeven die de. heeft geactiveerd trekker.

Wat is daarvan het verschil tussen Pragma Exception_init en Raise_application_error?

pragma exception init verandert een Oracle Error in een benoemde exception. Als een databasebewerking een ORA-00054 "resource bezet" oproept, moet u coderen:. Raise_application_error wordt gebruikt om een fout te VERHOGEN - exception_init wordt gebruikt om met fouten om te gaan (ik denk dat je zou kunnen zeggen dat ze tegengestelden zijn) in een manier).

Wat is Sqlerrm?

SQLERRM Functie. De functie SQLERRM retourneert het foutbericht dat is gekoppeld aan het argument foutnummer. Als het argument wordt weggelaten, wordt het foutbericht geretourneerd dat is gekoppeld aan de huidige waarde van SQLCODE. SQLERRM zonder argument is alleen nuttig in een uitzonderingshandler.

Aanbevolen: