Друзья, всем привет! 👋 С вами Костя Андронов. Один из популярных вопросов на собеседовании по Oracle: Что такое курсор? Курсор — это указатель на область памяти, в которой Oracle хранит результат SQL-запроса. Когда выполняется SELECT или DML, БД складывает строки в эту область, а курсор позволяет извлекать их в вызывающую среду. В Oracle курсоры бывают двух видов: неявные и явные 🧩 Неявный курсор Создаётся автоматически для любого SQL-запроса внутри PL/SQL-блока. Мы его не объявляем и не закрываем — Oracle делает всё сам. Строго говоря, неявный курсор - это вообще любая SQL-команда: truncate, create, commit, select... begin delete from dept_temp where department_id = 10; if sql%found then dbms_output.put_line('Удалено строк: ' || sql%rowcount); end if; end; 🧩 Явный курсор Объявляем сами, сами открываем, читаем построчно и закрываем. Даёт полный контроль над выборкой и умеет принимать параметры. declare cursor c_emp (p_dept number) is select department_id, department_name