Sobes.tech
Middle

Când sunt utilizate cursorii expliciți și implicați?

sobes.tech AI

Răspuns de la AI

Cursorii expliciți sunt utilizați atunci când este nevoie de un control mai fin asupra procesării unui set de rânduri din rezultatul unei interogări. De exemplu, atunci când este necesar să procesați fiecare rând în mod secvențial, să efectuați logică complexă sau să actualizați datele într-un ciclu.

Cursorii impliciți sunt creați automat pentru fiecare interogare SQL care returnează un rezultat (de exemplu, SELECT INTO). Sunt convenabili pentru operații simple, când nu este nevoie de control pas cu pas asupra selecției.

Exemplu de utilizare a unui cursor explicit în PL/SQL:

DECLARE
  CURSOR c_emp IS SELECT employee_id, salary FROM employees WHERE department_id = 10;
  v_emp_id employees.employee_id%TYPE;
  v_salary employees.salary%TYPE;
BEGIN
  OPEN c_emp;
  LOOP
    FETCH c_emp INTO v_emp_id, v_salary;
    EXIT WHEN c_emp%NOTFOUND;
    -- procesarea fiecărui rând
    DBMS_OUTPUT.PUT_LINE('Angajat ' || v_emp_id || ': ' || v_salary);
  END LOOP;
  CLOSE c_emp;
END;