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

Иерархические запросы........................................................................... 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