Иерархические запросы........................................................................... 201
Использование фраз CONNECT BY и START WITH......................... 203
Использование псевдостолбца LEVEL............................................ 204
Форматирование результатов иерархического запроса................ 205
Начинаем не с корневого узла .................................................. 206
Использование подзапросов во фразе START WITH...................... 206
Восходящий обход дерева............................................................. 207
Исключение из иерархического запроса узлов и ветвей............... 207
Включение в иерархический запрос других условий..................... 208
Использование расширенных фраз GROUP B Y ...................................... 209
Таблицы, используемые в примерах.............................................. 209
Использование фразы ROLLUP.............................................................. 211
Использование фразы CUBE.......................................................... 213
Использование функции GROUPING()............................................ 215
Использование фразы GROUPING SETS........................................ 218
Использование функции GROUPING_ID()...................................... 218
Многократное использование столбца во фразе GROUP BY 221
Использование функции GROUP_ID()............................................ 221
Использование аналитических функций................................................. 223
Таблица для этого примера............................................................ 223
Использование функций ранжирования........................................ 224
Использование функций обратных процентилей ................. 231
Использование вырезающих функций.......................................... 232
Использование функций для составления отчетов........................ 238
Использование функций LAG() и LEAD()....................................... 240
Использование функций FIRST и LAST.......................................... 241
Использование функций линейной регрессии............................... 242
Использование функций гипотетического ранга и распределения 243
Использование фразы MODEL................................................................ 244
Пример фразы MODEL................................................................... 244
Использование позиционной и символической нотаций
для обращения к ячейкам.............................................................. 246
Получение доступа к диапазону ячеек с использованием
фраз BETWEEN и AND.................................................................... 247
Получение доступа ко всем ячейкам с помощью ANY и IS ANY 247
Получение текущего значения размерности с помощью
функции CURRENTV()..................................................................... 248
Доступ к ячейкам с помощью цикла FOR....................................... 249
Обработка пустых и пропущенных значений.................................. 250
Обновление существующих ячеек.................................................. 252
Использование выражений PIVOT и UNPIVOT......................................... 253
Простой пример выражения PIVOT................................................ 253
Поворот нескольких столбцов........................................................ 255
Использование нескольких агрегатных функций в повороте 256
Использование выражения UNPIVOT............................................. 257
Итоги....................................................................................................... 258
Глава 8 Изменениесодержимого таблиц............................................................. 261
Добавление строк с помощью оператора INSERT................................... 262
Пропуск списка столбцов............................................................... 263
Задание пустого значения для столбца.......................................... 263
Включение в значения столбца одинарных и двойных кавычек 264
Копирование строк из одной таблицы в другую............................ 264
Модификация строк с использованием оператора UPDATE................... 264
Фраза RETURNING................................................................................... 266
Удаление строк при помощи оператора DELETE..................................... 266
Целостность базы данных....................................................................... 266
Принудительное применение ограничений первичного ключа 267
Принудительное применение ограничений внешнего ключа 267
Использование значений по умолчанию................................................. 269
xii Содержание
Содержание XIII
Слияние строк с использованием MERGE............................................... 270
Транзакции базы данных......................................................................... 272
Фиксирование и откат транзакций................................ 273
Начало и завершение транзакции................................................... 274
Контрольные точки......................................................................... 274
Свойства АСЮ транзакций............................................................. 276
Параллельно выполняемые транзакции........................................ 277
Блокировка транзакций.................................................................. 278
Уровни изоляции транзакций......................................................... 279
Пример транзакции уровня SERIALIZABLE..................................... 280