PL / SQL SELECT INTO (Norsk)

Sammendrag: i denne opplæringen lærer du hvordan du bruker PL / SQL SELECT INTO setning for å hente data fra en enkelt rad fra en tabell til variabler.

PL / SQL SELECT INTO setning er den enkleste og raskeste måten å hente en enkelt rad fra en tabell til variabler. Følgende illustrerer syntaksen til PL / SQL SELECT INTO utsagnet:

I denne syntaksen er antallet kolonnene i variable_list må være det samme som antall variabler (eller antall komponenter i en post) i select_list. I tillegg må den tilhørende datatypen være kompatibel.

Foruten WHERE klausulen, kan du bruke andre klausuler i SELECT uttalelse som INNER JOIN, GROUP BY, HAVING og UNION.

Hvis SELECT -uttalelsen returnerer mer enn en rad, vil Oracle heve TOO_MANY_ROWS unntak. Hvis SELECT -uttalelsen ikke returnerer noen rad, vil Oracle heve NO_DATA_FOUND unntaket.

PL / SQL SELECT INN til eksempler

La oss bruke customers og contacts tabellene i eksempeldatabasen for demonstrasjon.

A) PL / SQL SELECT INTO – velg et kolonneeksempel

Følgende eksempel bruker en SELECT INTO uttalelse for å få navnet på en kunde basert på kunde-id, som er den primære nøkkelen til customers tabell.

I dette eksemplet:

  • Forklar først en variabel l_customer_name hvis datatype ankrer til navnekolonnene i kundetabellen. Denne variabelen inneholder kundenavnet.
  • For det andre, bruk SELECT INTO -uttalelsen for å velge verdi fra navnekolonnen og tilordne den til l_customer_name -variabel.
  • For det tredje, vis kundenavnet ved hjelp av dbms_output.put_line -prosedyren.

Fordi customers tabellen har bare en rad med kunde-ID 100, kodeblokken viste kundenavnet.

Hvis det var ingen slik rad, kodeblokken ville mislykkes med et uhåndtert NO_DATA_FOUND unntak.

B) PL / SQL VELG INN – velg et komplett radeksempel

Følgende eksempel henter hele raden fra customers -tabellen for en bestemt kunde-ID:

Her er utdataene:

I dette eksemplet:

  • Først erklærer du en post basert på raden i customers bord. Denne posten inneholder hele raden i customers -tabellen.
  • For det andre, velg kunden hvis id er 100 i r_customer post.
  • For det tredje, vis kundens navn og nettsted.

C) PL / SQL SELECT INTO – velg data i flere variabler, eksempel

Følgende eksempel henter navnene på kunden og kontakten fra customers og contacts tabellene for en spesifikk kunde-id.

Oracle ga følgende utdata:

I dette eksemplet:

  • Forklar først tre variabler l_customer_name, l_contact_first_name, l_contact_last_name for å beholde kundens og kontaktens navn.
  • For det andre, bruk SELECT INTO uttalelsen for å hente kunde- og kontaktnavn på kunde-id 100 fra customers og contacts tabeller til de tilsvarende variablene
  • l_customer_name, l_contact_first_name, l_contact_last_name.
  • For det tredje, vis kunde- og kontaktnavn.

PL / SQL VALG TIL vanlige feil

Hvis antall kolonner og uttrykk i SELECT klausul er større enn antall variabler i INTO klausul, Oracle utsteder denne feilen:

Oracle utsteder følgende feil hvis antall kolonner og uttrykk i SELECT -satsen er mindre enn antall variabler i INTO -satsen:

Hvis antall variabler og element i listen er det samme, men deres tilsvarende datatyper ikke er kompatible, slik at Oracle ikke implisitt kan konvertere fra en type til den andre. Den vil utstede følgende feil:

Nå bør du vite hvordan du bruker PL / SQL SELECT INTO uttalelse for å hente en enkelt rad fra en tabell til variabler.

  • Var denne veiledningen nyttig?
  • JaNei

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *