sql >> Database teknologi >  >> RDS >> Oracle

Introduktion til PL/SQL-undtagelseshåndtering i Oracle-database

Vi kan ikke sige, at koden er robust, før den kan håndtere alle undtagelserne. Bugs og brat afslutning af et program er mareridtene i en programmørs liv. Ingen programmør ønsker at udvikle en kode, som vil gå ned midtvejs eller opføre sig uventet. Derfor er det nødvendigt at håndtere alle former for undtagelser for at sikre en problemfri udførelse af en software.

At kende dit problem er det første skridt mod at finde dets løsning. Så lad os lære mere om undtagelseshåndtering i Oracle-databasen.

Hvad er en undtagelse?

Enhver unormal tilstand eller hændelse, der afbryder det normale flow af dit programs instruktioner under kørslen, er en undtagelse. Eller med enkle ord kan du sige, at en undtagelse er en køretidsfejl.

Infobyte:
Undtagelser er designet til håndtering af køretidsfejl frem for håndtering af kompileringstidsfejl. Fejl, der opstår under kompileringsfasen, opdages af PL/SQL-kompileren og rapporteres tilbage til brugeren.

Typer af undtagelser

Der er to typer PL/SQL-undtagelser i Oracle-databasen.

  1. Systemdefinerede undtagelser og
  2. Brugerdefinerede undtagelser

Systemdefinerede undtagelser

Systemdefinerede undtagelser defineres og vedligeholdes implicit af Oracle-serveren. Disse undtagelser er hovedsageligt defineret i Oracle STANDARD-pakken . Når der opstår en undtagelse i programmet. Oracle-serveren matcher og identificerer den relevante undtagelse fra det tilgængelige sæt af undtagelser.

Systemdefinerede undtagelser har hovedsagelig en negativ fejlkode og fejlmeddelelse. Disse fejl har et kort navn, som bruges sammen med undtagelsesbehandleren.

Infobyte:
Oracle benytter to hjælpefunktioner SQLCODE og SQLERRM til at hente fejlkoden og meddelelsen for sidste opståede undtagelse.

Brugerdefinerede undtagelser

I modsætning til System-Define Exception, er brugerdefinerede undtagelser rejst eksplicit i PL/SQL-blokkens brødtekst (mere specifikt inde i BEGIN-END-sektionen) ved hjælp af RAISE-erklæringen.

Sådan erklærer du en brugerdefineret undtagelse i Oracle-databasen.

Der er tre måder at erklære brugerdefinerede undtagelser på i Oracle Database.

  1. Ved at erklære en variabel af typen EXCEPTION i deklarationsafsnittet.

Du kan erklære en brugerdefineret undtagelse ved at erklære en variabel med EXCEPTION datatype i din kode og hæve den eksplicit i dit program ved hjælp af RAISE-sætningen og håndtere dem i Undtagelsessektionen.

  1. Erklær brugerdefineret undtagelse ved hjælp af PRAGMA EXCEPTION_INIT-funktionen.

Ved at bruge PRAGMA EXCEPTION_INIT-funktionen kan du tilknytte et ikke-foruddefineret fejlnummer med variablen EXCEPTION datatype. Betyder, at du ved at bruge den samme funktion kan knytte en variabel af EXCEPTION-datatypen til en standardfejl.

  1. RAISE_APPLICATION_ERROR metode.

Ved at bruge denne metode kan du erklære en brugerdefineret undtagelse med dit eget tilpassede fejlnummer og meddelelse.

Det er det for dette afsnit. Håber du nød at læse denne korte introduktion til undtagelseshåndtering i Oracle Database. I denne blog forsøgte jeg at besvare et par spørgsmål, som du kan forvente i din Oracle-databasecertificering såvel som i interviewet .

Hold dig opdateret, da vi i den næste tutorial vil lave nogle seje eksempler, der forklarer de ovennævnte begreber, som vil hjælpe dig med at forbedre din viden og give dig et stærkt greb om begreberne PL/SQL undtagelseshåndtering. Tak og god dag!


  1. Sådan øges maksimale forbindelser i PostgreSQL

  2. Android med rum - Sådan indstilles en fremmednøgle til null

  3. MySQL - Træk værdi fra forrige række, grupper efter

  4. Sådan fungerer DB_NAME() i SQL Server