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_namemuuttuja. - 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
customerstaulukko. Tämä tietue pitää sisällään kokocustomers-taulukon rivin. - Valitse seuraavaksi asiakas, jonka tunnus on 100,
r_customerennä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_nameasiakkaan ja yhteyshenkilön nimen pitämiseen. - Toiseksi, noudata
SELECT INTO-käskyä hakemaan asiakastunnuksen 100 asiakas- ja yhteyshenkilönimetcustomers– jacontactstaulukot 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