Модификация представления........................................................ 347
Удаление представления................................................................ 348
Архивы ретроспективных данных........................................ ................... 348
Итоги....................................................................................................... 351
Глава 11 Знакомство с программированиемна PL/SQL......................................... 353
Блочная структура................................................................................... 354
Переменные и типы................................................................................. 356
Условная логика............... ...................................................................... 356
Циклы...................................................................................................... 357
Простые циклы.............................................................................. 357
Циклы WHILE.................................................................................. 359
Циклы FOR...................................................................................... 359
Курсоры.................................................................................................. 360
Шаг 1: Объявить переменные для хранения значений столбцов.... 360
Шаг 2: Объявить курсор................................................................. 361
Шаг 3: Открыть курсор................................................................... 361
Шаг 4: Выбрать строки из курсора................................................. 361
Шаг 5: Закрыть курсор................................................................... 362
Полный пример: сценарий product_cursor.sql................................ 362
Курсоры и циклы FOR..................................................................... 364
Выражение 0PEN-F0R.................................................................... 365
Несвязанные курсоры.................................................................... 367
Исключения............................................................................................. 368
Исключение ZERO_DIVIDE.............................................................. 370
Исключение DUP_VAL_ONJNDEX................................................... 371
Исключение INVALID_NUMBER...................................................... 371
Исключение OTHERS...................................................................... 372
Процедуры.............................................................................................. 373
Создание процедуры...................................................................... 373
Вызов процедуры........................................................................... 375
Получение информации о процедурах........................................... 376
Удаление процедуры....................................................................... 377
Просмотр ошибок в процедуре...................................................... 377
Функции.................................................................................................. 378
Создание функции......................................................................... 378
Вызов функции.............................................................................. 379
Получение информации о функциях............................................. 380
Удаление функции......................................................................... 380
Пакеты..................................................................................................... 380
xvi # Содержание
Создание спецификации пакета..................................................... 381
Создание тела пакета...................................................................... 382
Вызов процедур и функций в пакете............................ 383
Получение информации о процедурах и функциях из пакета 384
Удаление пакета.............................................................................. 384
Триггеры.................................................................................................. 384
Когда выполняются триггеры......................................................... 385
Создание примера триггера........................................................... 385
Создание триггера.......................................................................... 385
Срабатывание триггера.................................................................. 388
Получение информации о триггерах.............................................. 389
Активация и блокировка триггера.......................... 390
Удаление триггера........................................................................... 391
Нововведения PL/SQL в базе данных Oracle 11g.................................... 391
Тип SIMPLEJNTEGER...................................................................... 391
Последовательностгв PL/SQL........................................................ 392
Генерация родного машинного кода для PL/SQL........................... 393
Итоги....................................................................................................... 394
Глава 12 Объекты базы данных............................................................................. 395
Знакомство с объектами.......................................................................... 396
Создание объектных типов...................................................................... 397
Использование DESCRIBE для получения информации об объектных
типах........................................................................................................ 398
Использование объектных типов для определения
объектов-столбцов и объектных таблиц.................................................. 399
Объекты-столбцы............................................................................ 400
Объектные таблицы........................................................................ 402
Объектные идентификаторы и объектные ссылки......................... 406
Сравнение значений объектов....................................................... 408
Использование объектов в PL/SQL......................................................... 410