PL / SQL SELECT INTO (Suomi)
Yhteenveto: Tässä opetusohjelmassa opit käyttämään PL / SQL-sovellusta SELECT INTO
-lauseke noutaa yhden rivin tiedot taulukosta muuttujiksi.
PL / SQL SELECT INTO
-lauseke on yksinkertaisin ja nopein tapa hakea yksi rivi. taulukosta muuttujiksi. Seuraava kuvaa PL / SQL-lauseen syntaksin SELECT INTO
:
Tässä syntaksissa sarakkeiden variable_list
on oltava sama kuin muuttujien (tai tietueen komponenttien) lukumäärän select_list
-sarakkeessa. Lisäksi niiden vastaavien tietotyyppien on oltava yhteensopivia.
WHERE
-lausekkeen lisäksi voit käyttää muita lausekkeita SELECT
-lauseke, kuten INNER JOIN
, GROUP BY
, HAVING
ja UNION
.
Jos SELECT
-käsky palauttaa useamman kuin yhden rivin, Oracle nostaa TOO_MANY_ROWS
poikkeus. Jos SELECT
-käsky ei palauta yhtään riviä, Oracle nostaa NO_DATA_FOUND
-poikkeuksen.
PL / SQL SELECT INTO-esimerkkejä
Käytetään esimerkkitietokantojen customers
– ja contacts
-taulukoita esittelyyn.
A) PL / SQL SELECT INTO – yhden sarakkeen esimerkin valinta
Seuraava esimerkki käyttää SELECT INTO
-lauseketta saadakseen asiakkaan nimen asiakastunnuksen perusteella, joka on -taulukko.
Tässä esimerkissä:
- Ilmoita ensin muuttuja
l_customer_name
, jonka tietotyyppi ankkurit asiakastaulukon nimisarakkeisiin. Tämä muuttuja pitää asiakkaan nimen. - Toiseksi, käytä
SELECT INTO
-käskyä valitaksesi arvon nimisarakkeesta ja määritä sel_customer_name
muuttuja. - Kolmanneksi, näytä asiakkaan nimi
dbms_output.put_line
-menetelmällä.
Koska customers
-taulukossa on vain yksi rivi, jonka asiakastunnus on 100, koodilohkossa näkyy asiakkaan nimi.
Jos tällaista riviä ei ollut, koodilohko epäonnistui käsittelemättömällä NO_DATA_FOUND
-poikkeuksella.
B) PL / SQL SELECT INTO – kokonaisen riviesimerkin valinta
Seuraava esimerkki hakee koko rivin customers
-taulukosta tietylle asiakastunnukselle:
Tässä on tulos:
Tässä esimerkissä:
- Ilmoita ensin tietue
customers
taulukko. Tämä tietue pitää sisällään kokocustomers
-taulukon rivin. - Valitse seuraavaksi asiakas, jonka tunnus on 100,
r_customer
ennätys. - Kolmanneksi näytä asiakkaan nimi ja verkkosivusto.
C) PL / SQL SELECT INTO – tietojen valitseminen useisiin muuttujiin, esimerkki
Seuraava esimerkki hakee asiakkaan ja yhteyshenkilön nimet customers
– ja contacts
-taulukoista tietylle asiakastunnukselle.
Oracle antoi seuraavan lähdön:
Tässä esimerkissä:
- Ilmoita ensin kolme muuttujaa
l_customer_name
,l_contact_first_name
,l_contact_last_name
asiakkaan ja yhteyshenkilön nimen pitämiseen. - Toiseksi, noudata
SELECT INTO
-käskyä hakemaan asiakastunnuksen 100 asiakas- ja yhteyshenkilönimetcustomers
– jacontacts
taulukot vastaaviin muuttujiin -
l_customer_name
,l_contact_first_name
,l_contact_last_name
. - Kolmanneksi näytä asiakas- ja yhteyshenkilönimet.
PL / SQL VALITSE yleisiin virheisiin
Jos sarakkeiden ja lausekkeiden määrä SELECT
-lauseke on suurempi kuin INTO
-lausekkeen muuttujien määrä, Oracle antaa tämän virheen:
Oracle antaa seuraavan virheen, jos sarakkeiden ja lausekkeiden määrä SELECT
-lausekkeessa on pienempi kuin muuttujien määrä lausekkeessa INTO
:
Jos muuttujien ja elementtien määrä valitusluettelossa on sama, mutta niiden vastaavat tietotyypit eivät ole yhteensopivia, joten Oracle ei voi implisiittisesti muuntaa yhdestä tyypistä toinen. Se antaa seuraavan virheen:
Nyt sinun tulisi tietää, miten PL / SQL-sovellusta käytetään SELECT INTO
lauseke yksittäisen rivin hakemiseksi taulukosta muuttujiksi.
- Oliko tästä oppaasta hyötyä?
- KylläEi