Лори - oracle 8. Программирование на языке pl-sql. Руководство...

Post on 29-Jul-2015

140 Views

Category:

Documents

17 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Данный файл был взят с сайта:

Данный файл представлен исключительно в ознакомительных целях. Уважаемый читатель! Рели вы скопируете его. Вы должны незамедлительно удалить его сразу после ознакомления с содержанием. Копируя и сохраняя его Вы принимаете на себя всю ответственность, согласно действующему международному законодатсльсгву.

Все авторские права на данный файл сохраняются за правообладателем. Любое коммерческое и иное использование кроме предварительного ознакомления запрещено. Публикация данного документа не преследует за собой никакой коммерческой выгоды. Но такие документы способствуют быстрейшему профессиональному и духовному росту читателей и являются рекламой бумажных изданий таких документов.

Все авторские права сохраняются за правообладателем. Если Вы являетесь автором данного документа и хотите дополнить его или изменить, уточнить реквизиты автора или опубликовать другие документы, пожалуйста, свяжитесь с нами по e-mail - мы будем рады услышагь ваши пожелания.

ProgBook.net - библиотека программиста. В нашей библиотеке Вы найдете книги и статьи практически по любому языку программирования.

С.Урман ORACLE8. ЯЗЫК ПРОГРАММИРОВАНИЯ PL/SQL

Содержание 1 Введение в PL/SQL 1 Почему PL/SQL? 2

Модель клиент/ сервер 3 Стандарты 4

Средства PL/SQL 4 Блочная структура 4 Обработка ошибок 4

Переменные и типы 5 Циклические конструкции 6 Курсоры 7

Соглашения, принятые в этой книге 7 PL/SQL и версии Oracle 7 Документация Oracle 9 Содержимое компакт-диска 9 Местонахождение примеров 9

Примеры таблиц 9 student_sequence 10 students 10 major_stats 11 rooms 11 classes 12 registered_students 13 RS_audit 15 log_table 15 temp_table 15 debug_table 15

Итоги 16 2 Основы PL/SQL 17 Блок PL/SQL 18

Структура блока 20 Лексические единицы 22

Идентификаторы 22 Зарезервированные слова 23 Идентификаторы в кавычках 23

Ограничители 24 Литералы 25 Символьные литералы 25 Числовые литералы 25 Логические литералы 26

Комментарии 26 Однострочные комментарии 26

Многострочные комментарии 27 Объявление переменных 27

Синтаксис объявления 27 Инициализация переменных 28

Типы PL/SQL 29 Скалярные типы 29 Семейство числовых типов 29 Семейство символьных типов 31 Семейство типов без обработки 32 Семейство типов даты 33 Семейство типов ROWID 33 Семейство логических типов 33 Семейство типов Trusted 33

Составные типы 33 Ссылочные типы 34

Типы LOB 34 Использование %TYPE 34 Подтипы, определяемые пользователями 35 Преобразование типов данных 35 Явное преобразование типов данных 36 Неявное преобразование типов данных 36

Области действия и области видимости переменных 37 Выражения и операции 38

Присваивание 38 Выражения 39 Символьные выражения 39 Логические выражения 40

Управляющие структуры PL/SQL 41 IF-THEN-ELSE 41

NULL-условия 43 Циклы 44 Простые циклы 44 Циклы WHILE 45 Числовые циклы FOR 46

Операторы GOTO и метки 47 Ограничения при использовании GOTO 48 Помеченные циклы 49 Рекомендации по использованию GOTO 49 NULL как оператор 49

Прагмы 50 Стиль программирования на PL/SQL 50

Комментарии 51 Имена переменных 51 Выделение заглавными буквами 51

Структурирование текста 52 Общий стиль 52

Итоги 52 3 Записи и таблицы 53 Записи PL/SQL 54

Присваивание записей 55 Использование %ROWTYPE 56

Таблицы 56 Таблицы и массивы 57 Атрибуты таблиц 59

COUNT 59 DELETE 59 EXISTS 60 FIRST и LAST 61 NEXT и PRIOR 61 Рекомендации по использованию таблиц PL/SQL 62

Итоги 62 4 SQL в PL/SQL 63 SQL-операторы 64

Использование SQL в PL/SQL 64 DML в PL/SQL 65

SELECT 66 INSERT 68 UPDATE 69 DELETE 70 Условие WHERE 70 Имена переменных 71 Сравнение символов 71

Ссылки на таблицы 73 Связи баз данных 73 Синонимы 74

Псевдостолбцы 74 CURRVAL и NEXTVAL 74 LEVEL 75 ROWID 75 ROWNUM 75

GRANT, REVOKE и привилегии 76 Объектные и системные привилегии 76 GRANT и REVOKE 77

GRANT 77 REVOKE 77 Роли 77

Управление транзакциями 78 COMMIT и ROLLBACK 79

Точки сохранения 80 Транзакции и блоки 80

Итоги 81 5 Встроенные SQL-функции 83 Введение 84 Символьные функции, возвращающие символьные значения 84

CHR 84 CONCAT 85 INITCAP 85 LOWER 85 LPAD 86 LTRIM 86 NLS INITCAP 87 NLS LOWER 87 NLS UPPER 88 REPLACE 88 RPAD 89 RTRIM 89 SOUNDEX 90 SUBSTR 90 SUBSTRB 91 TRANSLATE 91 UPPER 92

Символьные функции, возвращающие числовые значения 92 ASCII 92 INSTR 93 INSTRB 93 LENGTH 94 LENGTHB 94 NLSSORT 94

Числовые функции 95 ABS 95 ACOS 95 ASIN 95 ATAN 96 ATAN2 96 CEIL 96 COS 97 COSH 97 EXP 97 FLOOR 98 LN 98 LOG 98 MOD 98

POWER 99 ROUND 99 SIGN 99 SIN 100 SINH 100 SQRT 100 TAN 101 TANH 101 TRUNC 101

Временные функции 101 ADD_MONTHS 102 I.AST_DAY 102 MONTHS BETWEEN 102 NEW_TIME 103 NEXT_DAY 103 ROUND 104 SYSDATE 104 TRUNC 105 Арифметические операции с датами 105

Функции преобразования 106 CHARTOROWID 106 CONVERT 106 HEXTORAW 107 RAWTOHEX 107 ROWIDTOCHAR юа TO_CHAR (даты) 108 ТО_CHAR (метки) ПО ТО_CHAR (числа) 110 ТО_DATE 112 ТО_LABEL 112 ТО_MULTI BYTE 112 ТО_NUMBER 112 TO_SINGLE_BYTE 113

Групповые функции 113 AVG 113 COUNT 114 GLB 114 LUB 114 МАХ 115 MIN 115 STDDEV 115 SUM 116 VARIANCE 116

Другие функции 116

BFILENAME 116 DECODE 117 DUMP 117 EMPTY_GLOB/EMPTY_BLOB 119 GREATEST 119 GREATEST_LB 119 LEAST 119 LEAST_UB 120 NVL 120 UID 120 USER 121 USERENV 121 VSIZE 122

PL/SQL в работе: печать чисел прописью 122 Итоги 130 6 Курсоры 131 Определение курсора 132

Обработка явных курсоров 132 Объявление курсора 133 Открытие курсора 133 Считывание строк из курсора 134 Закрытие курсора 135 Курсорные атрибуты 135 Параметризованные курсоры 138

Обработка неявных курсоров 138 Циклы выборки 140

Простые циклы 140 Циклы WHILE 142 Курсорные циклы FOR 143 NO DATA FOUND и %NOTFOUND 144 Курсоры SELECT FOR UPDATE 144

FOR UPDATE 144 WHERE CURRENT OF 145 Размещение оператора COMMIT при считывании строк 146

Курсорные переменные 147 Объявление курсорной переменной 147 Ограниченные и неограниченные курсорные переменные 148

Выделение памяти курсорным переменным 149 Использование EXEC SQL ALLOCATE 149 Автоматическое выделение памяти 149

Открытие курсорной переменной для запроса 149 Закрытие курсорных переменных 150 Пример курсорной переменной 1 150 Пример курсорной переменной 2 152

Ограничения на использование курсорных переменных 153 Итоги 154 7 Подпрограммы: процедуры и функции 155 Создание процедур и функций 156

Создание процедуры 157 Параметры и их виды 157 Тело процедуры 159 Ограничения на формальные параметры 160 Позиционное и именное представления 161 Значения параметров по умолчанию 163

Создание функций 164 Описание функций 166 Оператор RETURN 166 Свойства функций 167

Исключительные ситуации, устанавливаемые в подпрограммах 167 Удаление процедур и функций 168

Размещение подпрограмм 169 Хранимые подпрограммы и словарь данных 169 Локальные подпрограммы 170 Предварительное объявление 172 Хранимые и локальные подпрограммы 173

Зависимости в подпрограммах 173 Определение зависимостей 175 Модель временных меток 175 Модель подписей 176

Привилегии и хранимые подпрограммы 177 Привилегия EXECUTE 177 Хранимые подпрограммы и роли 177

Итоги 180 8 Модули 181 Модули 182

Описание модуля 182 Тело модуля 183 Модули и области действия 185 Переопределение модульных подпрограмм 185 Инициализация модуля 187 Модули и зависимости 189

Использование хранимых функций в SQL-операторах 191 Уровни строгости 191 Прагма RESTRICT_REFERENCES 193

Параметры по умолчанию 195 PL/SQL в работе: экспортер схем PL/SQL 195 Итоги 204 9 Триггеры 205

Создание триггеров 206 Элементы триггера 207 Имена триггеров 207 Типы триггеров 208 Триггеры INSTEAD OF 208 Ограничения, налагаемые на триггеры 209

Триггеры и словарь данных 209 Представления словаря данных 209 Удаление и запрещение триггеров 210 P-код триггера 210

Порядок активизации триггера 210 Использование :old и :new в строковых триггерах 212 Условие WHEN 214

Использование триггерных предикатов INSERTING, UPDATING и DELETING

214

Изменяющиеся таблицы 216 Пример изменяющейся таблицы 217 Как избежать ошибок, связанных с изменяющимися таблицами 218

PL/SQL в работе: реализация каскадного обновления данных 220 Состав утилиты 221

uc.sql 222 demobld.sql 222 unindex.sql 223 generate.sql 224

Функционирование утилиты 224 Итоги 228 10 Обработка ошибок 229 Понятие исключительной ситуации 230

Объявление исключительных ситуаций 231 Исключительные ситуации, определяемые пользователями 231 Стандартные исключительные ситуации 232

Установление исключительных ситуаций 234 Обработка исключительных ситуаций 234 Обработчик OTHERS 236

Прагма EXCEPTION_INIT 239 Использование функции RAISE_APPLICATION_ERROR 240

Передача исключительных ситуаций 242 Исключительные ситуации, устанавливаемые в выполняемом разделе

242

Пример 1 243 Пример 2 244 Пример 3 244

Исключительные ситуации, устанавливаемые в разделе объявлений 245 Пример 4 245

Пример 5 245 Исключительные ситуации, устанавливаемые в разделе исключительных ситуаций

245

Пример 6 245 Пример 7 246 Пример 8 247

Рекомендации по использованию исключительных ситуаций 248 Область действия исключительной ситуации 248 Недопущение необрабатываемых исключительных ситуаций 249 Обнаружение ошибок 249

PL/SQL в работе:универсальный обработчик ошибок 250 Итоги 258 11 Объекты 259 Вступление 260

Основы объектно-ориентированного программирования 260 Абстракция 261 Объекты и экземпляры объектов 261 Объектно-реляционные базы данных 261

Объектные типы 262 Создание объектных типов 262 Объявление и инициализация объектов 264 Инициализация объектов 264 NULL-объекты и NULL-атрибуты 264 Предварительное объявление типов 265

Методы 265 Вызов метода 267 Ключевое слово SELF 268 Использование атрибута %TYPE с объектами 268 Исключительные ситуации и атрибуты объектных типов 269

Изменение и удаление типов 270 ALTER TYPE ... COMPILE 270 ALTER TYPE ... REPLACE AS OBLECT 270 DROP TYPE 271

Зависимости объектов 272 Объекты в базе данных 273

Размещение объектов 273 Устойчивые и неустойчивые объекты 273 Идентификаторы объектов и ссылки на объекты 275

Объекты в операторах DML 275 INSERT 275 UPDATE 275 DELETE 276 Объекты-столбцы в операторах SELECT 276 Объекты-строки в операторах SELECT 277

Конструкция RETURNING 279 Методы MAP и ORDER 279

MAP 279 ORDER 280 Рекомендации по использованию методов MAP и ORDER 281

Итоги 281 12 Сборные конструкции 283 Вложенные таблицы 284

Объявление вложенной таблицы 284 Инициализация таблиц 284 Добавление элементов в существующую таблицу 286

Вложенные таблицы в базе данных 286 Работа с таблицей целиком 288 Работа с отдельными строками 290

Вложенные и индексные таблицы 290 Изменяемые массивы 290

Объявление изменяемого массива 291 Инициализация изменяемых массивов 291 Работа с элементами изменяемых массивов 291

Изменяемые массивы в базе данных 292 Работа с хранимыми изменяемыми массивами 292

Изменяемые массивы и вложенные таблицы 294 Методы сборных конструкций 294

EXISTS 294 COUNT 295 LIMIT 296 FIRST и LAST 296 NEXT и PRIOR 296 EXTEND 297 TRIM 299 DELETE 300

Итоги 302 13 Среды выполнения программ PL/SQL 303 Различные системы поддержки PL/SQL 304

Замечания относительно PL/SQL на станции клиента 306 PL/SQL на сервере 306

SQL*Plus 306 Управление блоками в SQL*Plus 306 Переменные подстановки 307 Переменные привязки SQL*Plus 308 Вызов хранимых процедур с помощью EXECUTE 309 Использование файлов 309 Использование команды SHOW ERRORS 310

Предкомпиляторы Oracle 311

Переменные привязки в предкомпиляторах 311 Встраивание блока в программу 312 Переменные-индикаторы 312 Обработка ошибок 313 Параметры, необходимые для работы предкомпилятора 314

OCI 314 Рекомендации по использованию блоков PL/SQL в OCI 315 Структура вызовов OCI 315

SQL-Station 317 Среда функционирования кодировщика 318 Вызов хранимой процедуры 319 Выполнение SQL-сценария 320

PL/SQL на станции клиента 321 Назначение клиентской системы 321 Oracle Forms 322

PL/SQL Editor 322 Object Navigator 323

Procedure Builder 323 Область просмотра 323 Область командной строки 323 Отладка PL/SQL в диалоговом режиме 324

Оболочка PL/SQL 325 Запуск оболочки 325 Входные и выходные файлы 325 Проверка синтаксиса и семантики 326 Рекомендации по работе с оболочкой 326

Итоги 326 14 Тестирование и отладка 327 Диагностика неисправностей 328

Рекомендации по отладке программ 328 Поиск места возникновения ошибки 328 Определение вида ошибки 328 Сокращение программы для построения тестового примера 328 Создание среды тестирования 328 Модуль Debug 329

Ввод данных в тестовые таблицы 329 Ситуация 1 329 Ситуация 1: модуль Debug 331 Ситуация 1: использование модуля Debug 332 Ситуация 1: комментарии 336

DBMS_OUTPUT 336 Модуль DBMS_OUTPUT 336 Процедуры в DBMS_OUTPUT 337 Использование модуля DBMS_OUTPUT 338

Ситуация 2 339 Ситуация 2: модуль Debug 340 Ситуация 2: использование модуля Debug 341 Ситуация 2: комментарии 344

Отладчики PL/SQL 344 Procedure Builder 345 Ситуация 3 345 Ситуация 3: отладка с помощью Procedure Builder 346 Ситуация 3: комментарии 349

SQL-Station 349 Ситуация 4 350 Ситуация 4: Отладчик SQL-Station 351 Ситуация 4: комментарии 352

Сравнение Procedure Builder и SQL-Station 353 Методологии программирования 353

Модульное программирование 353 Нисходящее проектирование 354 Абстрактное представление данных 355

Итоги 355 15 Динамический PL/SQL 357 Введение 358

Статический и динамический SQL 358 Обзор модуля DBMS_SQL 359

Обработка операторов DML, не являющихся запросами, и операторов DDL

362

Открытие курсора 362 Грамматический разбор оператора 362 Привязка входных переменных 363 Выполнение оператора 365 Закрытие курсора 365 Пример 365 Обработка операторов DDL 366 Обработка запросов 367 Грамматический разбор оператора 368 Определение выходных переменных 368 Считывание строк 370 Запись результатов в переменные PL/SQL 370 Пример 372

Обработка блоков PL/SQL 374 Грамматический разбор оператора 374 Считывание значений выходных переменных 375 Пример 376 Использование параметра out_value_size 377

PL/SQL в работе: выполнение произвольных хранимых процедур 378

Новые возможности DBMS_SQL в PL/SQL 8.0 385 Грамматический разбор больших строк символов SQL 385 Обработка массивов с помощью DBMS SQL :386

BIND ARRAY 336 DEFINE_ARRAY 387 Пример обработки массивов .388

Описание списка выбора 390 Другие процедуры 393

Считывание данных типа LONG 393 DEFINE_COLUMN_LONG 393 COLUMN_VALUE_LONG .393

Дополнительные функции по обработке ошибок 394 LAST_ERROR_POSITION 394 LAST_ROW_COUNT 394 LAST_ROW_ID 394 LAST_SQL_FUNCTION_CODE 394 IS_OPEN 395

PL/SQL в работе: запись данных LONG в файл 395 Привилегии и DBMS_SQL 397

Привилегии, необходимые для работы с DBMS_SQL 397 Роли и DBMS_SQL 397

Сравнение DBMS_SQL с другими динамическими средствами 398 Описание списка выбора 398 Обработка массивов 398 Операции над фрагментами данных типа LONG 398 Различия в интерфейсах 399

Советы и рекомендации 399 Повторное использование курсоров 399 Полномочия 399 Операции DDL и зависание 399

Итоги 399 16 Взаимодействие между соединениями 401 DBMS.PIPE 402

Посылка сообщений 405 PACK_MESSAGE 405 SEND_MESSAGE 406

Получение сообщений 406 RECEIVE_MESSAGE 407 NEXT_ITEM_TYPE 407 UNPACK_MESSAGE 408

Создание программных каналов и управление ими 408 Программные каналы и разделяемый пул 408 Общие и частные программные каналы 408 Процедура PURGE 409

Привилегии и безопасность 409 Частные каналы 410

Установление протокола связи 410 Форматирование данных 411 Адресация данных 411

Пример 411 Debug.pc 411 Модуль Debug 414 Комментарии 416

Модуль DBMS_ALERT 417 Посылка оповещений 417 Получение оповещений 417 Регистрация 417 Ожидание конкретного оповещения 418 Ожидание любого из оповещений 418

Другие процедуры 419 Отмена регистрации 419 Интервалы опроса 419

Оповещения и словарь данных 419 Сравнение модулей DBMS_PIPE и DBMS_ALERT 420 Итоги 422 17 Улучшенная организация очередей Oracle 423 Введение 424

Компоненты средства Advanced Queuing 424 Операция ENQUEUE 424 Операция DEQUEUE 425 Очереди 425 Таблицы очередей 425 Агенты 425 Менеджер времени 425

Реализация Advanced Queuing 426 Операции над очередями 426

Вспомогательные типы 426 SYS.AQ$_AGENT 426 AQ$_RECIPIENT_LIST_Т 427 MESSAGE_PROPERTIES_Т 427 ENQUEUE_OPTIONS_Т 428 DEQUEUE_OPTIONS_T 429 Константы перечислимого типа 430 ENQUEUE 430 DEQUEUE 431

Администрирование очередей 432 Подпрограммы модуля DBMS_AQADM 432

CREATE_QUEUE_TABLE 432

DROP_QUEUE_TABLE 433 CREATE_QUEUE 434 DROP_QUEUE 435 ALTER_QUEUE 435 START_QUEUE 436 STOP_QUEUE 436 ADD_SUBSCRIBER 436 REMOVE_SUBSCRIBER 436 QUEUE_SUBSCRIBERS 436 GRANT_TYPE_ACCESS 437 START_TIME_MANAGER 437 STOP_TIME_MANAGER 437

Привилегии на работу с очередями 437 AO_ADMINISTRATOR_ROLE 437 AQ_USER_ROLE 437 Доступ к объектным типам Oracle Advanced Queuing 437

Очереди и словарь данных 437 Представление для таблицы очередей 437 DBA_QUEUE_TABLES/USER_QUEUE_TABLES 438

DBA_QUEUES/USER_QUEUES 439 Подробные примеры 439

Создание очередей и таблиц очередей 439 Простая постановка в очередь и простой вывод из очереди 441 Очистка очереди 442 Постановка в очередь и вывод из очереди по приоритету 443 Постановка в очередь и вывод из нее при помощи идентификатора сообщения или идентификатора корреляции

445

Просмотр очереди 447 Работа с очередями исключительных ситуаций 449 Удаление очередей 451

Итоги 452 18 Задания для баз данных и файловый ввод/вывод 453 Задания для баз данных 454

Фоновые процессы 454 Выполнение заданий 455

SUBMIT 455 RUN 457

Неработоспособные задания 458 Удаление задания 458 Изменение задания 458 Просмотр заданий в словаре данных 459 Среды выполнения заданий 459

Файловый ввод/вывод 459 Безопасность 459

Безопасность базы данных 459 Безопасность операционной системы 460

Исключительные ситуации, устанавливаемые в UTL_FILE 461 Открытие и закрытие файлов 461

FOPEN 461 FCLOSE 462 IS_OPEN 462 FCLOSE_ALL 462

Файловый вывод 463 PUT 463 NEW_LINE 463 PUT_LINE 463 PUTF 464 FFLUSH 465

Файловый ввод 465 Примеры 465 Модуль Debug 465 Загрузка информации о студентах 467 Печать характеристик студентов 469

Итоги 472 19 Программа Oracle Webserver 473 Среда Webserver 474

Агент PL/SQL 475 Описатель соединения с базой данных 475 Сравнение CGI и WRB 476 Указание параметров процедур 476

Web-пакет PL/SQL 478 НТР и HTF 478 Печать 479 Константы 480 Заголовок 480 Тело 480 Списки 482 Форматирование символов 484 Физическое форматирование 485 Формы 485 Таблицы 488

OWA_UTIL 490 Утилиты HTML 490 Утилиты динамического SQL 491 Временные утилиты 494

OWA_IMAGE 496 OWA_COOKIE 498 Типы данных 498

SEND 499 GET 499 GET_ALL 499 REMOVE 499 Пример 500

Среды разработки процедур OWA 501 OWA_UTIL.SHOWPAGE 501 SQL-Station Coder 502

Итоги 502 20 Внешние процедуры 503 Понятие внешней процедуры 504

Порядок вызова внешней процедуры 505 Создание процедуры 505 Конфигурирование прослушивающего процесса SQL*Net 506 Создание библиотеки 508 Создание процедуры-оболочки 509

Отображение параметров 510 Сравнение типов данных PL/SQL и типов данных C 511 Виды параметров 513 Свойства параметров 514

Внешние функции и модульные процедуры 516 Значения, возвращаемые функциями 516 Переопределение 517 RESTRICT_REFERENCES 517

Обратные вызовы базы данных 517 Служебные подпрограммы 517 OCIExtProcRaiseExcp 518 OCIExtProcRaiseExcpWithMsg 519 OCIExtProcAllocCallMemory 519 Выполнение SQL-операторов во внешней процедуре 521 OCIExtProcGetEnv 521 Ограничения 521

Советы, рекомендации и ограничения 521 Отладка внешних процедур 521 Прямой вызов из С 521 Соединение с процессом extproc с помощью отладчика 521 Рекомендации 523 Ограничения 523

Итоги 524 21 Большие объекты 525 Понятие объекта LOB 526

Хранение объектов LOB 527 Объекты LOB в DML 528 Инициализация столбца LOB 528

Пример 528 Работа с объектами BFILE 529

Каталоги 529 Привилегии, необходимые для работы с каталогами 530 Каталоги в словаре данных 530 Удаление каталогов 530

Открытие и закрытие объектов BFILE 530 Объекты BFILE в DML 530 Инициализация столбцов BFILE 530 Сравнение семантики копирования и ссылочной семантики 531 Удаление локаторов объектов BFILE 531

Модуль DBMS_LOB 532 Подпрограммы DBMS_LOB 532

APPEND 533 COMPARE 533 COPY 534 ERASE 535 FILECLOSE 536 FILECLOSEALL 536 FILEEXISTS 536 FILEGETNAME 536 FILEISOPEN 536 FILEOPEN 537 GETLENGTH 537 INSTR 537 LOADFROMFILE 538 READ 541 SUBSTR 542 TRIM 543 WRITE 543

Исключительные ситуации, устанавливаемые подпрограммами модуля DBMS_LOB

544

Сравнение DBMS_LOB и OCI 544 PL/SQL в работе: копирование данных LONG в объект LOB 545 Итоги 547 22 Производительность и настройка 549 Разделяемый пул 550

Структура экземпляра Oracle 550 Процессы 550 Память 551 Файлы 552

Функционирование разделяемого пула 552 Сбрасывание содержимого разделяемого пула 553 Триггеры и разделяемый пул 553

Разделяемый пул и многопоточный сервер 553 Определение размера разделяемого пула 554 Размеры хранимых подпрограмм 554 Память сеанса 554

Закрепление объектов 555 KEEP 555 UNKEEP 555 SIZES 555

Настройка SQL-операторов 556 Определение плана выполнения 556

EXPLAIN PLAN 556 Утилита TKPROF 557 SQL-Station Plan Analyzer 559

Использование плана 561 NESTED LOOP 561 TABLE ACCESS(FULL) 561 TABLE ACCESS(BY ROWID) 561

Работа с сетью 561 Использование клиентского PL/SQL 562 Недопущение повторного грамматического разбора 562 Обработка массивов 562

Итоги 562 Приложения А Зарезервированные слова PL/SQL 563 В Руководство по работе со встроенными модулями DBMS 567 Создание модулей 568 Описание модулей 569

DBMS_ALERT 569 DBMS_APPLICATION_INFO 569

SET_MODULE 569 READ_MODULE 569 SET_ACTION 569 SET_CLIENT_INFO 569 READ_CLIENT_INFO 569

DBMS_AQ и DBMS_AQADM 570 DBMS_DEFER, DBMS_DEFER_SYS и DBMS_DEFER_QUERY 570 DBMS_DDL 570

ALTER_COMPILE 570 ANALYZE_OBJECT 570

DBMS_DESCRIBE 571 DESCRIBE_PROCEDURE 571

DBMS_JOB 573 DBMS_LOB 573 DBMS_LOCK 573

ALLOCATE_UNIQUE 573 REQUEST 573 CONVERT 574 RELEASE 575 SLEEP 575

DBMS_OUTPUT 575 DBMS_PIPE 575 DBMS_REFRESH и DBMS_SNAPSHOT 576 DBMS_REPCAT, DBMS_REPCAT_AUTH и DBMS_REPCAT_ADMIN

576

DBMS_ROWID 576 DBMS_SESSION 576

SET_ROLE 576 SET_SQL_TRACE 576 SET_NLS 576 CLOSE_DATABASE_LINK 576 SET_LABEL 576 SET_MLS_LABEL_FORMAT 577 RESET_PACKAGE 577 UNIQUE_SESSION_ID 577

DBMS_SHARED_POOL 577 DBMS_SQL 577 DBMS_TRANSACTION 577 Команды SET TRANSACTION 577 Команды ALTER SESSION ADVISE 577 Команды COMMIT 578 Команды ROLLBACK и SAVEPOINT 578 BEGIN_DISCRETE_TRANSACTION 578 PURGE_MIXED 578 LOCAL_TRANSACTION_ID 578 STEP_ID 578

DBMS_UTILITY 578 COMPILE_SCHEMA 578 ANALYZE_SCHEMA 579 FORMAT_ERROR_STACK 579 FORMAT_CALL_STACK 579 IS_PARALLEL_SERVER 579 GET_TIME 579 NAME_RESOLVE 579 PORT_STRING 580

UTL_FILE 580 С Глоссарий средств PL/SQL 581 D Словарь данных 593 Понятие словаря данных 594

Соглашения по именованию 594 Полномочия 594

Представления словаря all_*/user_*/dba_* 595 Dependencies (зависимости) 595 Collections (сборные конструкции) 596 Compile Errors (ошибки компиляции) 596 Directories (каталоги) 597 Jobs (задания) 597 Libraries (библиотеки) 598 LOBs (большие объекты) 599 Object Methods (объектные методы) 599 Object Method Parameters (параметры объектных методов) 600 Object Method Results (результаты объектных методов) 600 Object References (ссылки на объекты) 601 Object Type Attributes (атрибуты объектных типов) 601 Schema Objects (объекты схем) 601 Source Code (исходный программный текст) 602 Tables (таблицы) 602 Table Columns (столбцы таблиц) 604 Triggers (триггеры) 605 Trigger Columns (столбцы триггеров) 606 Views (представления) 606

Другие представления словаря 606 dbms_alert_info 606 dict_columns 607

Данный файл был взят с сайта:

Данный файл представлен исключительно в ознакомительных целях. Уважаемый читатель! Рели вы скопируете его. Вы должны незамедлительно удалить его сразу после ознакомления с содержанием. Копируя и сохраняя его Вы принимаете на себя всю ответственность, согласно действующему международному законодатсльсгву.

Все авторские права на данный файл сохраняются за правообладателем. Любое коммерческое и иное использование кроме предварительного ознакомления запрещено. Публикация данного документа не преследует за собой никакой коммерческой выгоды. Но такие документы способствуют быстрейшему профессиональному и духовному росту читателей и являются рекламой бумажных изданий таких документов.

Все авторские права сохраняются за правообладателем. Если Вы являетесь автором данного документа и хотите дополнить его или изменить, уточнить реквизиты автора или опубликовать другие документы, пожалуйста, свяжитесь с нами по e-mail - мы будем рады услышагь ваши пожелания.

ProgBook.net - библиотека программиста. В нашей библиотеке Вы найдете книги и статьи практически по любому языку программирования.

top related