Sobes.tech
Middle

Kedy sa používajú explicitné a implicitné kurzory?

sobes.tech AI

Odpoveď od AI

Explicitné kurzory sa používajú, keď je potrebné presnejšie kontrolovať spracovanie súboru riadkov z výsledku dotazu. Napríklad, keď je potrebné spracovať každý riadok postupne, vykonať zložitú logiku alebo aktualizovať údaje v cykle.

Implicitné kurzory sa automaticky vytvárajú pre každý SQL dotaz, ktorý vracia výsledok (napríklad, SELECT INTO). Sú vhodné pre jednoduché operácie, keď nie je potrebná krok za krokom kontrola výberu.

Príklad použitia explicitného kurzora v 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;
    -- spracovanie každého riadku
    DBMS_OUTPUT.PUT_LINE('Zamestnanec ' || v_emp_id || ': ' || v_salary);
  END LOOP;
  CLOSE c_emp;
END;