sql >> Databasteknik >  >> RDS >> Oracle

Introduktion till PL/SQL-undantagshantering i Oracle Database

Vi kan inte säga att koden är robust förrän den kan hantera alla undantag. Buggar och abrupt avslutande av ett program är mardrömmarna i en programmerares liv. Ingen programmerare vill utveckla en kod som kommer att krascha på ett halvt vägs eller bete sig oväntat. För att mjukvaran ska kunna köras smidigt är det därför nödvändigt att hantera alla typer av undantag.

Att känna till ditt problem är det första steget mot att hitta dess lösning. Så låt oss lära oss mer om undantagshantering i Oracle-databasen.

Vad är ett undantag?

Alla onormala tillstånd eller händelser som avbryter det normala flödet av programmets instruktioner vid körning är ett undantag. Eller med enkla ord kan du säga att ett undantag är ett körtidsfel.

Informationsbyte:
Undantag är utformade för hantering av körtidsfel snarare än för kompileringstidsfel. Fel som uppstår under kompileringsfasen upptäcks av PL/SQL-kompilatorn och rapporteras tillbaka till användaren.

Typer av undantag

Det finns två typer av PL/SQL-undantag i Oracle-databasen.

  1. Systemdefinierade undantag och
  2. Användardefinierade undantag

Systemdefinierade undantag

Systemdefinierade undantag definieras och underhålls implicit av Oracle-servern. Dessa undantag definieras huvudsakligen i Oracle STANDARD-paketet . Närhelst ett undantag inträffar i programmet. Oracle-servern matchar och identifierar lämpligt undantag från den tillgängliga uppsättningen av undantag.

Systemdefinierade undantag har huvudsakligen en negativ felkod och felmeddelande. Dessa fel har ett kort namn som används med undantagshanteraren.

Informationsbyte:
Oracle använder två verktygsfunktioner SQLCODE och SQLERRM för att hämta felkoden och meddelandet för senast inträffade undantag.

Användardefinierade undantag

Till skillnad från System-Define Exception, höjs User-Define Exceptions explicit i PL/SQL-blockets brödtext (mer specifikt i BEGIN-END-sektionen) med hjälp av RAISE-satsen.

Hur man deklarerar ett användardefinierat undantag i Oracle Database.

Det finns tre sätt att deklarera användardefinierade undantag i Oracle Database.

  1. Genom att deklarera en variabel av typen EXCEPTION i deklarationsavsnittet.

Du kan deklarera ett användardefinierat undantag genom att deklarera en variabel av datatypen EXCEPTION i din kod och höja den explicit i ditt program med hjälp av RAISE-satsen och hantera dem i Exception Section.

  1. Deklarera användardefinierat undantag med PRAGMA EXCEPTION_INIT-funktionen.

Med hjälp av PRAGMA EXCEPTION_INIT-funktionen kan du mappa ett icke-fördefinierat felnummer med variabeln EXCEPTION-datatypen. Innebär att du med samma funktion kan associera en variabel av datatypen EXCEPTION med ett standardfel.

  1. RAISE_APPLICATION_ERROR metod.

Med den här metoden kan du deklarera ett användardefinierat undantag med ditt eget anpassade felnummer och meddelande.

Det är det för det här avsnittet. Hoppas du tyckte om att läsa denna korta introduktion till undantagshantering i Oracle Database. I den här bloggen försökte jag svara på några frågor som du kan förvänta dig i din Oracle Database Certification såväl som i intervjun .

Håll utkik eftersom i nästa handledning kommer vi att göra några coola exempel som förklarar de ovan nämnda begreppen som hjälper dig att förbättra din kunskap och ge dig ett starkt grepp om koncepten för PL/SQL-undantagshantering. Tack och ha en bra dag!


  1. SQL Server Delete Statement:Hur man tar bort en eller multiplicerar rader från tabellen

  2. MariaDB SCHEMA() Förklarat

  3. Oracle Instant Client för ARM-baserad Debian-enhet

  4. ALTERNATIV (OMKOMPILERA) är alltid snabbare; Varför?