Воскресенье
20.09.2020
07:15


Форма входа


Приветствую Вас Гость | RSS
Статьи по ORACLE, PL/SQL, Java и немного по SHELL (BASH),...
Главная Каталог статей Регистрация Вход
Главная » Статьи » ORACLE » ORACLE, PL/SQL

Основы курсоров

    Простейшую форму курсора можно представить себе как указатель на таблицу в базе данных. Например, следующее объявление курсора связывает всю таблицу employee с курсором employee_cur:

CURSOR anployee_cur IS SELECT * FROM employee:

    После объявления курсора его можно открыть:

OPEN employee_cur:

    Далее можно выбирать из него строки:

FETCH employee_cur into employee_rec;

    Окончив работу с курсором, его следует закрыть:

CLOSE employee_cur;

 

    В рассматриваемом примере каждая выбранная из курсора запись представляет собой строку таблицы employee. С курсором можно связать любую допустимую инструкцию SELECT. В следующем примере в объявлении курсора объединяются

три таблицы:

 

DECLARE

    CURSOR joke_feedback_cur

    IS

        SELECT J.name, R.laugh_volume, C.name

        FROM joke J, response R, comedian С

        WHERE J.joke_id = R.joke_id

        AND J.joke_id = C.joker_id;

BEGIN

...

END;

 

    В данном случае курсор действует не как указатель на конкретную таблицу базы данных — он указывает на виртуальную таблицу или неявное представление, определяемое инструкцией SELECT. (Мы называем такую таблицу виртуальной потому, что инструкция SELECT генерирует данные, имеющие табличную структуру, но эта таблица существует только временно, пока программа работает с возвращенными инструкцией данными.) Если тройное объединение возвращает таблицу, содержащую 20 строк и три столбца, курсор функционирует как указатель на эти 20 строк.

Категория: ORACLE, PL/SQL | Добавил: Akarak (08.06.2009)
Просмотров: 4803 | Рейтинг: 5.0/2
Всего комментариев: 0
Имя *:
Email *:
Код *:
Меню сайта

Категории раздела
ORACLE, PL/SQL [36]
Скрипты DDL [3]
Скрипты по управлению объектами
Встроенные функции SQL [2]
Встроенные функции SQL

Интересные сайты
  • sql.ru
  • all-oracle.ru
  • oranet.ru
  • oracloid.ru
  • forum.vingrad.ru

  • Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0

    Поиск

    Copyright MyCorp © 2020
    Используются технологии uCoz