PL / SQL SELECT INTO (Dansk)

Resume: i denne vejledning lærer du, hvordan du bruger PL / SQL SELECT INTO sætning for at hente data fra en enkelt række fra en tabel i variabler.

PL / SQL SELECT INTO udsagn er den enkleste og hurtigste måde at hente en enkelt række på fra en tabel til variabler. Følgende illustrerer syntaksen for PL / SQL SELECT INTO udsagnet:

I denne syntaks er antallet af kolonner i variable_list skal være det samme som antallet af variabler (eller antallet af komponenter i en post) i select_list. Derudover skal deres tilsvarende datatype være kompatibel.

Udover WHERE -klausulen kan du bruge andre klausuler i SELECT udsagn som INNER JOIN, GROUP BY, HAVING og UNION.

Hvis SELECT -udtalelsen returnerer mere end en række, hæver Oracle TOO_MANY_ROWS undtagelse. Hvis sætningen SELECT ikke returnerer nogen række, hæver Oracle undtagelsen NO_DATA_FOUND.

PL / SQL SELECT IND I eksempler

Lad os bruge tabellerne customers og contacts i eksempeldatabasen til demonstration.

A) PL / SQL SELECT INTO – vælg et kolonneeksempel

Følgende eksempel bruger en SELECT INTO -erklæring for at få navnet på en kunde baseret på kunde-idet, som er den primære nøgle til customers tabel.

I dette eksempel:

  • Erklær først en variabel l_customer_name hvis datatype forankrer til navnesøjlerne i kundetabellen. Denne variabel holder kundenavnet.
  • For det andet skal du bruge SELECT INTO -sætningen til at vælge værdi fra navnesøjlen og tildele den til l_customer_name -variabel.
  • For det tredje skal du vise kundens navn ved hjælp af dbms_output.put_line -proceduren.

Fordi customers -tabellen har kun en række med kunde-id 100, kodeblokken viste kundens navn.

Hvis der var ingen sådan række, kodeblokken mislykkedes med en uhåndteret NO_DATA_FOUND undtagelse.

B) PL / SQL VÆLG INTO – vælg et komplet rækkeeksempel

Følgende eksempel henter hele rækken fra customers -tabellen til et specifikt kunde-id:

Her er output:

I dette eksempel:

  • Forklar først en post baseret på rækken i customers tabel. Denne post holder hele rækken i customers -tabellen.
  • For det andet skal du vælge den kunde, hvis id er 100, i r_customer record.
  • For det tredje skal du vise kundens navn og websted.

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

Følgende eksempel henter navnene på kunden og kontakten fra tabellerne customers og contacts til et specifikt kunde-id.

Oracle udsendte følgende output:

I dette eksempel:

  • Erklær først tre variabler l_customer_name, l_contact_first_name, l_contact_last_name for at holde kundens og kontaktens navn.
  • Brug for det andet SELECT INTO udsagn til at hente kunde- og kontaktnavne på kunde-id 100 fra customers og contacts tabeller i de tilsvarende variabler
  • l_customer_name, l_contact_first_name, l_contact_last_name.
  • For det tredje skal du vise kunde- og kontaktnavne.

PL / SQL VÆLG I almindelige fejl

Hvis antallet af kolonner og udtryk i SELECT klausul er større end antallet af variabler i INTO klausul, Oracle udsteder denne fejl:

Oracle udsender følgende fejl, hvis antallet af kolonner og udtryk i SELECT -sætningen er mindre end antallet af variabler i INTO -sætningen:

Hvis antallet af variabler og element på listen er det samme, men deres tilsvarende datatyper ikke er kompatible, så Oracle ikke implicit kan konvertere fra en type til den anden. Det udsteder følgende fejl:

Nu skal du vide, hvordan du bruger PL / SQL SELECT INTO erklæring for at hente en enkelt række fra en tabel til variabler.

  • Var denne tutorial nyttig?
  • JaNej

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *