Ciklusok az adatbázisokban pl

Napjainkban az adatbázisokat mindenhol használják: számvitel, könyvtár, raktárban. És az Oracle az információfeldolgozó szoftverek legnagyobb szállítója. A strukturált SQL lekérdezések szabványos nyelve nem támogatja a hurkot, de gyakran a jelentéskészítéshez például ciklusok nélkül nem lehet. Mivel a vállalat az Oracle kiterjesztette ezt a nyelvet - PL / SQL.

A ciklusokat meghatározott műveletek többszörös végrehajtására tervezték. A PL / SQL háromféle hurkot tartalmaz:

  1. Feltétel nélküli ciklusok (végtelen) - a kimenetük nem biztosított. Mivel ezek a ciklusok specifikusak és ritkán használatosak, feltételes ciklusok segítségével szerveződnek. A feltételt egyáltalán nem lehet megadni, vagy inkább egy konstans használható. Egy ilyen ciklusra példa a LOOP gép. END LOOP.
  2. Feltételes hurkok - parancsok végrehajtása, amíg a feltétel igaz. Példa, WHILE feltétel LOOP. END LOOP.
  3. Hurok számlálóval - olyan ciklus, amelyben a számláló egy bizonyos fokozattal megváltoztatja értékét a kezdetektől a végső előtt, és a számláló bármely értékére a ciklusban lévő parancsok sorrendjét hajtják végre. Az ilyen típusú ciklus képviselője a START érték számlálója, a LOOP végső értéke. END LOOP.

A PL / SQL-ben írt legegyszerűbb hurok így néz ki:

Egy ilyen ciklus teljesen értelmetlen és nem biztonságos egy adatbázis példány számára, mivel nincs módja kifutni. Ezek közül a ciklusok közül háromféleképpen lehet kilépni:

  1. Az EXIT egy feltétel nélküli kilépés. Általában az IF utasítással együtt használják, amelyben a kijárati állapotot ellenőrzik.
  2. KILÉPÉS, amikor - ebben az esetben a kimenetet akkor hajtják végre, amikor a WHEN teljesülése után leírt állapot van.
  3. GOTO - ebben az esetben a hurok kimenete a címke által meghatározott külső kontextusba történő átmenethez vezet.

Nézzünk egy példát egy hurokra, mint a LOOP EXIT WHEN. Itt van a kód:

Látható akciók ez a kód nem, hanem hibák is! Az első ciklus akkor fejeződik be, amikor i 100-ra változik. Ugyanakkor visszaáll és a hurok kilép. A következő ciklus az EXIT WHEN beágyazott konstrukciót használja, amelynek használata szintaktikailag helyes. Azonban a feltételes utasítások használata lehetővé teszi, hogy bizonyos lépéseket végezzen, mielőtt kilép a hurokból. A formában lévő hurokban LOOP EXIT WHEN END LOOP a leggyakrabban használt ciklus kurzorok készítésénél.

Itt van egy másik fajta ciklus:

Az előzőleg írott kóddal ellentétben az itt végrehajtott műveletek csak a zárójelben lévő igaznak felelnek meg. Ha az állapot hamis értéket vesz fel, akkor a hurok megszűnik.

A hurokkonstrukciókban nincs CONTINUE utasítás a PL / SQL-ben, ami néha nagyon hasznos. Ez azért van, mert a CONTINUE kifejezés PL / SQL nyelvben van fenntartva más célokra. A CONTINUE konstrukció mesterségesen emulálható a LOOP EXIT WHEN END LOOP hurokkal és a hasznos, bár nem népszerű GOTO operátorral.

Például húzzuk le a páratlan számokat 20-ig a ciklus és a GOTO használatával:

Remélem, most egyszerűen PL / SQL hurkot használhatsz kiszolgáló adatbázis-alkalmazások létrehozásához. )

Kapcsolódó cikkek