PL / SQL Cursor FOR LOOP (Română)

0 Comments

rezumat: în acest tutorial, veți învăța cum să utilizați PL / SQL cursor FOR LOOP declarație pentru a prelua și procesa fiecare înregistrare de la un cursor.

Introducere în PL/SQL cursorul PENTRU BUCLA declarație

cursorul FOR LOOP declarație este un elegant extinderea numerică FOR LOOP declarație.

numeric FOR LOOP execută corpul unei bucle o dată pentru fiecare valoare întreagă într-un interval specificat., În mod similar, cursorul FOR LOOP execută corpul buclei o dată pentru fiecare rând returnat de interogarea asociată cu cursorul.

O caracteristică frumos de cursor FOR LOOP declarație este că vă permite să aducă fiecare rând dintr-un cursor fără manual de management execuția ciclului și anume, OPEN, FETCH și CLOSE.

cursorulFOR LOOP creează implicit indicele de buclă ca variabilă de înregistrare cu tipul de rând în care cursorul revine și apoi deschide cursorul.,

în fiecare iterație buclă, cursorul FOR LOOP declarație preia un rând din rezultatul stabilit în indicele său buclă. Dacă nu există niciun rând de preluat, cursorul FOR LOOP Închide cursorul.

cursorul este, de asemenea, închis în cazul în care o declarație în interiorul buclei de control a transferurilor în afara buclei, de exemplu, EXIT și GOTO, sau ridică o excepție.,

următoarele ilustrează sintaxa cursorului FOR LOOP declarație:

1) record

record este numele de index care cursorul FOR LOOP declarație declară implicit ca un %ROWTYPE record variabilă de tipul cursorului.

variabila record este locală cursorului FOR LOOP declarație. Aceasta înseamnă că se poate referi doar în interiorul bucla, nu în afara., După cursor FOR LOOP declarație de execuție se termină, record variabila devine nedefinit.

2) cursor_name

cursor_name este numele unui cursor explicit că nu este deschis atunci când bucla începe.

Rețineți că în afară de nume cursor, puteți utiliza un SELECT declarație așa cum se arată mai jos:

În acest caz, cursorul FOR LOOP declară, se deschide, preia de la, si se inchide cu o implicită a cursorului., Cu toate acestea, cursorul implicit este intern; prin urmare, nu îl puteți referi.

rețineți că Oracle Database optimizează automat un cursorFOR LOOP pentru a funcționa similar cu o interogareBULK COLLECT. Deși codul dvs. arată ca și cum ar fi preluat un rând la un moment dat, Oracle Database preia mai multe rânduri la un moment dat și vă permite să procesați fiecare rând individual.

cursor PL / SQL pentru exemple de buclă

să ne uităm la câteva exemple de utilizare a cursorului FOR LOOP declarație pentru a vedea cum funcționează.,

a) cursor PL/SQL pentru exemplu buclă

următorul exemplu declară un cursor explicit și îl folosește în cursor FOR LOOP declarație.

În acest exemplu, SELECT declarație de cursorul preia datele din products masă. FOR LOOP declarație deschis, preluat fiecare rand din setul de rezultate, afișate informații despre produs, și a închis cursorul.,

B) Cursor pentru buclă cu un exemplu de instrucțiune SELECT

următorul exemplu este echivalent cu exemplul de mai sus, dar utilizează o interogare într-un cursorFOR LOOP declarație.

În acest tutorial, ați învățat cum să utilizați cursorul PL/SQL FOR LOOP pentru a prelua date de la un cursor.

  • a fost acest tutorial util?
  • YesNo


Lasă un răspuns

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