Oracle CURSOR FOR UPDATE (Română)

Rezumat: în acest tutorial, veți afla cum să utilizați cursorul actualizabil Oracle pentru a actualiza datele într-un tabel.

Introducere în Oracle Cursor FOR UPDATE

Uneori, doriți să blocați un set de rânduri înainte de a le putea actualiza în programul dvs. Oracle furnizează clauza FOR UPDATE a instrucțiunii SELECT într-un cursor actualizabil pentru a efectua acest tip de mecanism de blocare.

Iată sintaxa pentru declararea unui cursor actualizabil:

Noua sintaxă aici este FOR UPDATE cuvintele cheie.

Odată ce ați deschis cursorul, Oracle va bloca toate rândurile selectate de instrucțiunea SELECT ... FOR UPDATE în tabelele specificate în FROM clauză. Și aceste rânduri vor rămâne blocate până când cursorul este închis sau tranzacția este finalizată fie cu COMMIT, fie cu ROLLBACK.

Rețineți că Oracle blochează toate rândurile returnate de SELECT ... FOR UPDATE în timpul actualizării, prin urmare, ar trebui să aveți o clauză WHERE pentru a selecta numai rândurile necesare să fie blocat.

Dacă aveți o coloană specifică pe care doriți să o actualizați, o puteți lista în clauza FOR UPDATE după cum urmează:

În acest caz, Oracle blochează numai rândurile tabelului care are numele coloanei listat în clauza FOR UPDATE OF.

Rețineți că, dacă utilizați numai clauza FOR UPDATE și nu includeți una sau mai multe coloane după cuvântul cheie OF, Oracle va face atunci blocați toate rândurile selectate pe toate tabelele listate în clauza FROM.

Oracle Cursor FOR UPDATE example

Luați în considerare următoarele exemplu.

Cum funcționează.

  • Mai întâi, declarați un cursor actualizabil care actualizează creditele clienților ale căror credite sunt mai mari decât zero.
  • În continuare , parcurgeți rândurile din cursoare.
  • Apoi, obțineți numărul de comenzi pentru fiecare client.
  • După aceea, atribuiți creșterea creditului pe baza numărului de comenzi.
  • În cele din urmă, actualizați creditul clientului.

În acest tutorial, ați învățat cum să utilizați cursorul actualizabil Oracle pentru a actualiza datele într-un tabel.

  • A fost de ajutor acest tutorial?
  • Da Nu

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *