PL / SQL SELECT INTO (Svenska)

Sammanfattning: i denna handledning lär du dig hur du använder PL / SQL SELECT INTO uttalande för att hämta data från en enda rad från en tabell till variabler.

PL / SQL SELECT INTO uttalande är det enklaste och snabbaste sättet att hämta en enda rad från en tabell till variabler. Följande illustrerar syntaxen för PL / SQL SELECT INTO uttalande:

I denna syntax, antalet kolumner i variable_list måste vara samma som antalet variabler (eller antalet komponenter i en post) i select_list. Dessutom måste deras motsvarande datatyp vara kompatibel.

Förutom WHERE -satsen kan du använda andra satser i SELECT uttalande som INNER JOIN, GROUP BY, HAVING och UNION.

Om uttalandet SELECT returnerar mer än en rad kommer Oracle att höja TOO_MANY_ROWS undantag. Om SELECT uttalandet inte returnerar någon rad kommer Oracle att höja undantaget NO_DATA_FOUND.

PL / SQL SELECT INTE exempel

Låt oss använda tabellerna customers och contacts i exempeldatabasen för demonstration.

A) PL / SQL SELECT INTO – välj ett kolumnexempel

I följande exempel används en SELECT INTO för att få namnet på en kund baserat på kund-id, vilket är den primära nyckeln till customers tabell.

I det här exemplet:

  • Förklara först en variabel l_customer_name vars datatyp ankar till namnkolumnerna i kundtabellen. Denna variabel kommer att innehålla kundnamnet.
  • För det andra, använd SELECT INTO för att välja värde från namnkolumnen och tilldela det till l_customer_name variabel.
  • För det tredje, visa kundnamnet med dbms_output.put_line proceduren.

Eftersom customers tabellen har bara en rad med kund-ID 100, kodblocket visade kundnamnet.

Om det fanns ingen sådan rad, kodblocket skulle misslyckas med ett obehandlat NO_DATA_FOUND undantag.

B) PL / SQL VÄLJ IN – välj ett komplett radexempel

Följande exempel hämtar hela raden från tabellen customers för ett specifikt kund-ID:

Här är utdata:

I det här exemplet:

  • Först förklara en post baserad på raden i customers bord. Den här posten innehåller hela raden i customers -tabellen.
  • För det andra, välj kunden vars id är 100 i r_customer post.
  • För det tredje, visa kundens namn och webbplats.

C) PL / SQL SELECT INTO – välj data i exempel på flera variabler

Följande exempel hämtar kundernas och kontaktens namn från tabellerna customers och contacts

Oracle gav följande utdata:

I det här exemplet:

  • Först, förklara tre variabler l_customer_name, l_contact_first_name, l_contact_last_name för att hålla kundens och kontaktens namn.
  • Använd för det andra uttalandet SELECT INTO för att hämta kund- och kontaktnamn på kund-id 100 från customers och contacts tabeller till motsvarande variabler
  • l_customer_name, l_contact_first_name, l_contact_last_name.
  • För det tredje, visa kund- och kontaktnamn.

PL / SQL VÄLJ TILL vanliga fel

Om antalet kolumner och uttryck i SELECT klausul är större än antalet variabler i INTO -klausulen, Oracle ger detta fel:

Oracle ger följande fel om antalet kolumner och uttryck i SELECT -satsen är mindre än antalet variabler i INTO -satsen:

Om antalet variabler och element i vallistan är desamma, men deras motsvarande datatyper inte är kompatibla så att Oracle inte implicit kan konvertera från en typ till den andra. Det kommer att utfärda följande fel:

Nu borde du veta hur du använder PL / SQL SELECT INTO uttalande för att hämta en enda rad från en tabell till variabler.

  • Hjälpte den här självstudien?
  • Ja Nej

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *