Явные курсоры используются, когда нужно более тонко контролировать обработку набора строк из результата запроса. Например, когда необходимо поочерёдно обрабатывать каждую строку, делать сложную логику или обновлять данные в цикле.
Явные и неявные курсоры — когда используются?
Явные курсоры используются, когда нужно более тонко контролировать обработку набора строк из результата запроса.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Явные курсоры используются, когда нужно более тонко контролировать обработку набора строк из результата запроса. Например, когда необходимо поочерёдно обрабатывать каждую строку, делать сложную логику или обновлять данные в цикле.
Неявные курсоры создаются автоматически для каждого SQL-запроса, который возвращает результат (например, SELECT INTO). Они удобны для простых операций, когда не нужен поэтапный контроль над выборкой.
Пример использования явного курсора в 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;
-- обработка каждой строки
DBMS_OUTPUT.PUT_LINE('Employee ' || v_emp_id || ': ' || v_salary);
END LOOP;
CLOSE c_emp;
END;