Middle
Wanneer worden expliciete en impliciete cursors gebruikt?
sobes.tech AI
Antwoord van AI
Expliciete cursors worden gebruikt wanneer je meer controle wilt hebben over de verwerking van een set rijen uit het resultaat van een query. Bijvoorbeeld, wanneer je elke rij achtereenvolgens wilt verwerken, complexe logica wilt uitvoeren of gegevens in een lus wilt bijwerken.
Impliciete cursors worden automatisch aangemaakt voor elke SQL-query die een resultaat retourneert (bijvoorbeeld, SELECT INTO). Ze zijn handig voor eenvoudige operaties waarbij geen stapsgewijze controle over de selectie nodig is.
Voorbeeld van het gebruik van een expliciete cursor 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;
-- verwerking van elke rij
DBMS_OUTPUT.PUT_LINE('Werknemer ' || v_emp_id || ': ' || v_salary);
END LOOP;
CLOSE c_emp;
END;