PL / SQL SELECT INTO (Magyar)
Összefoglaló: ebben az oktatóanyagban megtanulhatja a PL / SQL használatát SELECT INTO
utasítás egyetlen sor adatainak lekéréséhez a táblából változókká.
A PL / SQL SELECT INTO
utasítás a legegyszerűbb és leggyorsabb módja egy sor lekérésének. táblázatból változókká. Az alábbiakban bemutatjuk a PL / SQL SELECT INTO
utasítás szintaxisát:
Ebben a szintaxisban a A variable_list
oszlopoknak meg kell egyezniük a select_list
változók számával (vagy egy rekord összetevőinek számával). Ezenkívül a megfelelő adattípusoknak kompatibiliseknek kell lenniük.
A WHERE
záradék mellett más záradékokat is használhat a SELECT
utasítás, például INNER JOIN
, GROUP BY
, HAVING
és UNION
.
Ha a SELECT
utasítás egynél több sort ad vissza, az Oracle fel fogja emelni a TOO_MANY_ROWS
kivétel. Ha a SELECT
utasítás nem ad vissza egyetlen sort sem, az Oracle felveti a NO_DATA_FOUND
kivételt.
PL / SQL SELECT INTO példák
Bemutatásra használjuk a mintadatbázis customers
és contacts
tábláit.
A) PL / SQL SELECT INTO – egy oszlop példa kiválasztása
A következő példa egy SELECT INTO
utasítással kapja meg az ügyfél nevét az ügyfél-azonosító alapján, amely a táblázat.
Ebben a példában:
- Először deklaráljon egy
l_customer_name
változót, amelynek adattípusa horgonyok az ügyfelek tábla névoszlopaihoz. Ez a változó fogja tárolni az ügyfél nevét. - Másodszor, a
SELECT INTO
utasítással válassza ki az értéket a név oszlopból, és rendelje hozzá al_customer_name
változó. - Harmadszor mutassa meg az ügyfél nevét a
dbms_output.put_line
eljárás segítségével.
Mivel a A customers
táblázatnak csak egy sora van 100 ügyfél-azonosítóval, a kódblokk az ügyfél nevét jelenítette meg.
Ha nem volt ilyen sor, a kódblokk egy kezeletlen NO_DATA_FOUND
kivétellel meghiúsul.
B) PL / SQL SELECT INTO – teljes sor példa kiválasztása
Az alábbi példa a teljes sort beolvassa a customers
táblából egy adott ügyfél-azonosítóhoz:
Itt van a kimenet:
Ebben a példában:
- Először deklaráljon rekordot a
customers
táblázat. Ez a rekord acustomers
tábla teljes sorát fogja tárolni. - Másodszor válassza ki a
r_customer
rekord. - Harmadszor mutassa meg az ügyfél nevét és webhelyét.
C) PL / SQL SELECT INTO – adatok kiválasztása több változóba példa
Az alábbi példa a customers
és contacts
táblákból tölti be az ügyfél és az elérhetőség nevét egy adott ügyfél-azonosítóhoz.
Az Oracle a következő kimenetet adta ki:
Ebben a példában:
- Először deklaráljon három változót
l_customer_name
,l_contact_first_name
,l_contact_last_name
az ügyfél és a kapcsolattartó nevének megtartásához. - Másodszor használja a
SELECT INTO
utasítást, hogy acustomers
és a táblázatok a megfelelő változókba -
l_customer_name
,l_contact_first_name
,l_contact_last_name
. - Harmadszor jelenítse meg a ügyfél- és kapcsolattartó nevek.
PL / SQL SELECT INTO gyakori hibák
Ha az oszlopok és kifejezések száma a SELECT
záradék nagyobb, mint a INTO
záradék változóinak száma, az Oracle kiadja ezt a hibát:
Oracle a következő hibát adja ki, ha az oszlopok és a kifejezés száma a SELECT
záradékban kisebb, mint a INTO
záradékban szereplő változók száma:
Ha a kiválasztók listájában a változók száma és az elem megegyezik, de a megfelelő adattípusok nem kompatibilisek, így az Oracle nem képes implicit módon átalakítani egy típusból a másik. A következő hibát fogja kiadni:
Most már tudnia kell a PL / SQL használatát SELECT INTO
utasítás, hogy egy táblából egyetlen sort válasszon változókká.
- Hasznos volt ez az oktatóanyag?
- IgenNem