Oracle-kurzor frissítésre

Összefoglaló: ebben az oktatóanyagban megtanulhatja, hogyan kell az Oracle frissíthető kurzorával frissíteni az adatokat egy táblában.

Bevezetés az Oracle CURS FRISSÍTÉSÉHEZ

Előfordulhat, hogy le kell zárni egy sor sort, mielőtt azokat frissíteni lehetne a programban. Az Oracle az FOR UPDATE záradékot egy frissíthető kurzorban biztosítja az FOR UPDATE záradékkal az ilyen zárolási mechanizmus végrehajtásához. Itt található a frissíthető kurzor deklarálásának szintaxisa:

Az új szintaxis itt a FOR UPDATE kulcsszavak.

A kurzor megnyitása után az Oracle a SELECT ... FOR UPDATE utasítással kijelölt összes sort bezárja a FROM záradék. És ezek a sorok zárva maradnak, amíg a kurzor bezárul, vagy a tranzakció befejeződik COMMIT vagy ROLLBACK.

Ne feledje, hogy az Oracle a frissítés során a SELECT ... FOR UPDATE által visszaadott összes sort zárolja, ezért rendelkeznie kell egy WHERE záradékkal, hogy csak a szükséges sorokat válassza ki zárolandó.

Ha van egy speciális oszlop, amelyet frissíteni szeretne, akkor a FOR UPDATE záradékban felsorolhatja a következőképpen:

Ebben az esetben az Oracle csak azokat a táblázatokat zárolja, amelyek oszlopneve szerepel a FOR UPDATE OF záradékban.

Ne feledje, hogy ha csak FOR UPDATE záradékot használ, és nem tartalmaz egy vagy több oszlopot a OF kulcsszó után, akkor az Oracle ekkor zárolja az összes kijelölt sort a FROM záradékban felsorolt összes táblázatban.

Oracle kurzor FRISSÍTÉSRE példa

Vegye figyelembe a következőket példa.

Hogyan működik.

  • Először deklaráljon egy frissíthető kurzort, amely frissíti azon ügyfelek kreditjeit, akiknek kreditje nagyobb, mint nulla.
  • Következő , hurkolja a kurzor sorait.
  • Ezután kapja meg az egyes ügyfelek megrendelésének számát.
  • Ezt követően rendelje hozzá a jóváírás növekedését a megrendelések száma alapján.
  • Végül frissítse az ügyfél hitelét.

Ebben az oktatóanyagban megtanulta, hogyan kell az Oracle frissíthető kurzorával frissíteni az adatokat egy táblában.

  • 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