Явный курсор (explicit cursor) — это курсор, который программист определяет вручную в PL/SQL коде для более точного управления обработкой данных. Вот основные случаи, когда его используют:
Когда нужно обработать много строк (например, тысячи или миллионы записей), явный курсор позволяет:
FETCH ... LIMIT
).DECLARE
CURSOR emp_cursor IS SELECT * FROM employees WHERE salary > 10000;
emp_record employees%ROWTYPE;
BEGIN
OPEN emp_cursor;
LOOP
FETCH emp_cursor INTO emp_record;
EXIT WHEN emp_cursor%NOTFOUND;
-- обработка каждой записи
END LOOP;
CLOSE emp_cursor;
END;
EXECUTE IMMEDIATE
), явный курсор помогает безопасно обработать результат.FOR ... LOOP
).BULK COLLECT
).Резюмируем: явные курсоры полезны при сложной логике обработки, больших объемах данных или необходимости тонкого управления выполнением запросов. Однако их использование требует аккуратности (например, не забывать закрывать курсоры!).