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_namevá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 INTOutasítással válassza ki az értéket a név oszlopból, és rendelje hozzá al_customer_nameváltozó. - Harmadszor mutassa meg az ügyfél nevét a
dbms_output.put_lineeljá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
customerstáblázat. Ez a rekord acustomerstábla teljes sorát fogja tárolni. - Másodszor válassza ki a
r_customerrekord. - 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_nameaz ügyfél és a kapcsolattartó nevének megtartásához. - Másodszor használja a
SELECT INTOutasí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