Общее представление о курсорах в PL/SQL Oracle
В ходе работы иногда строки необходимо обойти вперед и назад один или несколько раз. Именно для этой цели и служат курсоры. Курсор – это результат запроса к базе данных, хранящийся на сервере Oracle, то есть не сам оператор SELECT, а результирующее множество, извлекаемое этим оператором. После сохранения курсора нужные данные можно прокручивать или просматривать в приложении вверх и вниз.
Обратите внимание: существуют явные и неявные курсоры.
Каждый раз, когда обрабатывается запрос SQL, в Oracle внутренним образом создаётся курсор. Именно так в самой СУБД Oracle обрабатывается запрос SQL. Такой курсор называется – неявным, в отличие от явного курсора, который создаётся явным образом.
Пользователям Oracle приходится иметь дело, как правило, исключительно с явными курсорами.
Обращение с курсорами
Пользуясь курсорами, необходимо придерживаться следующей процедуры.
- Прежде чем воспользоваться курсором, его нужно объявить (определить). В ходе этого процесса никакие данные не извлекаются, а только определяется применимый в дальнейшем оператор SELECT.
- Как только курсор будет объявлен, он должен быть открыт для использования. В ходе этого процесса данные извлекаются с помощью определенного ранее оператора SELECT.
- Как только курсор будет заполнен данными, из него можно извлекать строки по мере надобности.
- По окончании работы с курсором его нужно закрыть.