Максим Чалышев - Oracle SQL. 100 шагов от новичка до профессионала

Тут можно читать онлайн Максим Чалышев - Oracle SQL. 100 шагов от новичка до профессионала - бесплатно ознакомительный отрывок. Жанр: comp-programming, год 11. Здесь Вы можете читать ознакомительный отрывок из книги онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Oracle SQL. 100 шагов от новичка до профессионала
  • Автор:
  • Жанр:
  • Издательство:
    неизвестно
  • Год:
    11
  • ISBN:
    нет данных
  • Рейтинг:
    5/5. Голосов: 11
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 100
    • 1
    • 2
    • 3
    • 4
    • 5

Максим Чалышев - Oracle SQL. 100 шагов от новичка до профессионала краткое содержание

Oracle SQL. 100 шагов от новичка до профессионала - описание и краткое содержание, автор Максим Чалышев, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru
Более 300 ответов на вопросы.
Более 500 практических заданий.
Более 1000 разобранных примеров.
Учебник справочник по языку SQL.

Oracle SQL. 100 шагов от новичка до профессионала - читать онлайн бесплатно ознакомительный отрывок

Oracle SQL. 100 шагов от новичка до профессионала - читать книгу онлайн бесплатно (ознакомительный отрывок), автор Максим Чалышев
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Шаг 58. Временные таблицы. Когда лучше применять

Введение

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

Теория и практика

Временные таблицы существуют в ORACLE начиная с версии 8.

Они предназначаются для хранения данных на протяжении сеанса или транзакции.

Временная таблица поддерживает использование индексов и ограничений.

Временные таблицы (GLOBAL TEMPORARY), в отличие от таблиц регулярных, целесообразно использовать в тех случаях, когда сохраняемые данные часто изменяются и непостоянны.

Данные во временной таблице будут видны только в той сессии или транзакции, которая поместила эти данные в таблицу.

После создания временной таблицы ее описание сохраняется в словаре данных ORACLE.

Место в сегменте под данные выделяется динамически, в момент выполнения первой команды DML (SELECT, INSERT, UPDATE) для этой временной таблицы.

Временная таблица описывается таким же образом, что и обычная регулярная таблица, и все данные такой таблицы подразделяются:

• на данные, используемые только в данной сессии,

• или же данные, используемые только в данной транзакции.

Специфику поведения данных относительно сессии определяют ключевые слова ОN COMMIT DELETE и ОN COMMIT PRESERVE в команде CREATE TABLE.

• ОN COMMIT DELETE ROWS используется во временных таблицах, данные которой существуют в пределах одной транзакции;

• ОN COMMIT PRESERVE ROWS используется во временных таблицах, данные которой существуют в пределах одной сессии.

СУБД ORACLE удаляет все строки из временной таблицы — очищает таблицу после завершения сессии или транзакции.

Данный пример демонстрирует создание временной таблицы, данные которой относятся к сессии.

Пример создания временной таблицы с использованием запроса:

Демонстрация отличия временной таблицы от таблицы регулярной.

Создаем две таблицы
• временную

• регулярную

Не будем нагружать скрипты излишним синтаксисом.

Добавляем данные:

Выполняем запрос к временной таблице:

К регулярной таблице:

Результат:
— 1
— 2
— 3

Закрываем сессию, соединяемся с базой снова. Выполняем запрос к регулярной таблице.

Результат:
1
2
3

К временной таблице:

Результат:
No DATA.

Итак, данные во временной таблице сохраняются только в текущей сессии или транзакции в зависимости от выражения ON COMMIT в скрипте создания таблицы.

Отличие ОN COMMIT PRESERVE ROWS от ОN COMMIT DELETE ROWS

Создаем две таблицы ON COMMIT PRESERVE ROWS.

Добавляем данные в созданные таблицы.

Смотрим:

Результат:
1
2
3

Результат:
1
2
3
Выполняем команду COMMIT, после чего вновь выполняем запросы.

Результат:
1
2
3

Результат:
No DATA.

Важные замечания

Для создания временных таблиц, работы с временными таблицами необходимы соответствующие привилегии.

После рестарта экземпляра базы данных данные во временных таблицах не сохраняются.

Если вы используете индексы во временных таблицах, то следует запомнить, что эти индексы нельзя пересоздавать после вставки данных.

Вопросы учеников

Вы рассказали про временные таблицы в ORACLE SQL. Есть ли временные таблицы в MS SQL БД и в postgreSQL?

Временные таблицы в ORACLE существенным образом отличаются от тех же временных таблиц в MS SQL Server.

Есть ряд ограничений, не позволяющих использовать их так, как вы бы сделали, например, в MS SQL Server. Главное отличие в том, что в Oraсle временная таблица создается как часть словаря данных и является по сути статической.

Контрольные вопросы и задания для самостоятельного выполнения

1. Повторите материалы данного шага.

2. Создайте две временные таблицы tmdr и tmpr для хранения данных из таблицы CITY ON COMMIT DELETE ROWS и ON COMMIT PRESERVE ROWS.

3. Разберитесь в специфике работы с этими таблицами.

Шаг 59. Регулярные выражения в SQL

Введение

Регулярные выражения (англ. regular expressions, сокр. RegExp, RegEx, жарг. регэкспы или регексы) — это формальный язык поиска и осуществления манипуляций с подстроками в тексте, основанный на использовании метасимволов (символов-джокеров, англ. wildcard characters).

По сути это строка-образец (англ. pattern, по-русски ее часто называют шаблоном, маской), состоящая из символов и метасимволов и задающая правило поиска.

Регулярные выражения сделали революционные преобразования в использовании при поиске данных, при поиске соответствий.

Современные языки программирования, такие как Java, Go, Java Script, имеют специальные средства в своем арсенале для работы с регулярными выражениями.

В SQL диалекта ORACLE есть также множество операторов для работы с регулярными выражениями.

Теория и практика

Для работы с регулярными выражениями в ORACLE SQL используются следующие операторы: REGEXP_LIKE, REGEXP_REPLACE, REGEXP_SUBSTR, REGEXP_COUNT, REGEXP_INSTR.

Примеры

Рассмотрим работу каждой из этих команд, для наглядности создадим таблицу и заполним ее следующими данными:

• фамилия, дата рождения, город проживания — данные представлены сплошным символьным буфером, с разделителем»,».

REGEXP_LIKE

REGEXP_LIKE выбирает из таблицы все строки, соответствующие заданному шаблону регулярного выражения REGEXP.

Пример использования REGEXP_LIKE (выражение; «REGEXP шаблон»): выберем из таблицы все строчки, которые содержат дату рождения в заданном формате REGEXP [0—9] {8}.

Рисунок 156. Пример использования REGEXP: запрос к REGTEST

Добавим строку с нестандартным форматом даты.

REGEXP_REPLACE

REGEXP_REPLACE заменяет шаблон регулярного выражения REGEXP в строке на заданную строку.

Синтаксис:

REGEXP_REPLACE (выражение; «REGEXP шаблон», «REGEXP шаблон» или константа) :

Заменим дату рождения в заданном формате REGEXP [0—9] {8} на выражение MYDATE.

Рисунок 157. работа с REGEXP: запрос к таблице REGTEST

Результат:
Зайцев, MYDATE, Киев
Иванов, MYDATE, Воронеж
Петров, MYDATE, Москва
Волков, 010A1988, Дмитров

REGEXP_SUBSTR

REGEXP_SUBSTR выделяет из строки заданный REGEXP шаблон.

Пример использования REGEXP_SUBSTR (выражение; «REGEXP шаблон»; вхождение; параметр сопоставления) :

Выделим дату рождения в заданном формате REGEXP [0—9] {8} из общей строки.

Рисунок 158. Запрос к таблице REGTEST: демонстрация REGEXP_SUBSTR

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Максим Чалышев читать все книги автора по порядку

Максим Чалышев - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Oracle SQL. 100 шагов от новичка до профессионала отзывы


Отзывы читателей о книге Oracle SQL. 100 шагов от новичка до профессионала, автор: Максим Чалышев. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x