Sobes.tech
Middle

Quando vengono utilizzati i cursori espliciti e impliciti?

sobes.tech AI

Risposta dell'AI

I cursori espliciti vengono utilizzati quando è necessario controllare più finemente l'elaborazione di un insieme di righe risultanti da una query. Ad esempio, quando è necessario elaborare ogni riga in modo sequenziale, eseguire logica complessa o aggiornare i dati in un ciclo.

I cursori impliciti vengono creati automaticamente per ogni query SQL che restituisce un risultato (ad esempio, SELECT INTO). Sono utili per operazioni semplici in cui non è richiesta un'operazione passo passo sulla selezione.

Esempio di utilizzo di un cursore esplicito in 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;
    -- elaborazione di ogni riga
    DBMS_OUTPUT.PUT_LINE('Dipendente ' || v_emp_id || ': ' || v_salary);
  END LOOP;
  CLOSE c_emp;
END;