PL / SQL Cursor FOR LOOP (Română)
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