Выбрать главу

Модификация представления........................................................ 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