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á a l_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 a customers 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 a customers é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

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük