Middle
Kdy se používají explicitní a implicitní kurzory?
sobes.tech AI
Odpověď od AI
Explicitní kurzory se používají, když je potřeba přesněji kontrolovat zpracování sady řádků z výsledku dotazu. Například, když je třeba postupně zpracovat každý řádek, provést složitou logiku nebo aktualizovat data v cyklu.
Implicitní kurzory jsou automaticky vytvářeny pro každý SQL dotaz, který vrací výsledek (například, SELECT INTO). Jsou vhodné pro jednoduché operace, kdy není potřeba krok za krokem kontrolovat výběr.
Příklad použití explicitního kurzoru 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;
-- zpracování každého řádku
DBMS_OUTPUT.PUT_LINE('Zaměstnanec ' || v_emp_id || ': ' || v_salary);
END LOOP;
CLOSE c_emp;
END;