Явные и неявные курсоры — когда используются?

Явные курсоры используются, когда нужно более тонко контролировать обработку набора строк из результата запроса.

Короткий ответ

Что ответить на собеседовании

Явные курсоры используются, когда нужно более тонко контролировать обработку набора строк из результата запроса. Например, когда необходимо поочерёдно обрабатывать каждую строку, делать сложную логику или обновлять данные в цикле.

Подробный разбор

Ответ с пояснениями

Явные курсоры используются, когда нужно более тонко контролировать обработку набора строк из результата запроса. Например, когда необходимо поочерёдно обрабатывать каждую строку, делать сложную логику или обновлять данные в цикле.

Неявные курсоры создаются автоматически для каждого 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;

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее