Можно ли создать представление на основе запроса с MODEL?
Да, в представлениях может использован запрос с MODEL.
Контрольные вопросы и задания для самостоятельного выполнения
1. Повторите материалы данного шага.
2. На основе таблицы AUTO постройте запрос MODEL, взяв за основу запрос из последнего примера.
Шаг 69. MODEL-аналитика, сложные последовательности и массивы
MODEL также можно использовать для создания двумерных массивов, а также сложных итераторов, сложных последовательностей.
Мы можем также использовать MODEL для создания массивов.
Создание одномерного массива:
Создание двумерного массива:
Также функция SQL MODEL может использоваться и для создания итераторов подобно CONNECT BY:
• использование итератора;
• простейший пример.
— M1 AA
— 0 A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Еще пример: итератор в качестве счетчика, но это более сложный пример. Теперь с конструкцией UNTIL наращиваем итерацию, пока aa [0] не будет равно «AAAAAAAA».
Аналогичный пример, но используем команды PREVIOUS () — перед значением и ITERATION_NUMBER — номер итерации.
Пример простой итерации от 0 до 5:
Сложная последовательность, в которой следующий номер — произведение двух предыдущих;
• с ограничением результата более 8000.
Интереснейший пример с партицированием данных.
Пример с партицированием:
• Запроc c MODEL не может быть использован внешним запросом. Однако это может быть запрос с подзапросами, представлениями и т. д.
• Запроc c MODEL не может иметь предложение PARTITION BY.
•Запроc c MODEL не может быть обновлен.
Можно ли использовать запрос MODEL для формирования первичного ключа?
Для формирования первичного ключа необходимо и правильно использовать последовательность SEQUENCE.
Контрольные вопросы и задания для самостоятельного выполнения
1. Внимательно изучите каждый из примеров. Помните, что применение MODEL весьма распространено, очень часто используется при построении кубов в DWH-проектах.
2. Создайте простой итератор с помощью MODEL, от 1 до 100, с шагом 2.
TIMESTAMP — специальный тип данных в СУБД ORACLE, расширяющий возможности типа данных DATE.
TIMESTAMP используется на практике достаточно часто, поэтому данному типу данных посвящен отдельный шаг.
Тип TIMESTAMP представлен в трех вариантах:
• TIMESTAMP — год, месяц, часы, минуты, секунды, миллисекунды, сотые доли секунд;
• TIMESTAMP WITH LOCAL TIME ZONE — то же, что и предыдущий тип данных, но дополнительно включает еще и следующие значения временных зон: TIME_ZONE_HOUR и TIME_ZONE_MINUTE, или же TIME_ZONE_REGION;
• TIMESTAMP WITH LOCAL TIME ZONE — тип данных со значением часового пояса.
Данные типа TIMESTAMP.
Для работы с типом TIMESTAMP существует специальная функция CURRENT_TIMESTAMP, которая возвращает текущее значение время-дата с данными часового пояса, заданного в параметрах сессии.
У данной функции нет параметров.
Пример использования:
Рисунок 196. Использование TIMESTAMP
Рисунок 197. Использование TIMESTAMP WITH TIMEZONE
Смещение часового пояса сессии изменилось с -5:0 в -1:0, в результате чего функция CURRENT_TIMESTAMP вернет в качестве значения текущей даты и времени на 4 часа в прошлое.
Рассмотрим примеры преобразования TIMESTAMPв DATE.
Рисунок 198. Использование TIMESTAMP и DATE
Обратное преобразование из DATE в TIMESTAMP:
Рисунок 198. Использование TIMESTAMP и DATE
Более сложные преобразования типа TIMESTAMP.
Примеры более сложных преобразований с типом TIMESTAMP.
TO_TIMESTAMP — преобразование строки к типу TIMESTAMP.
Рисунок 198. Использование TIMESTAMP и DATE
Преобразование временной зоны NEW_TIME:
Рисунок 200. Использование NEW_TIME
Здесь первый параметр — TIMESTAMP, второй — значение временной зоны, из которой преобразуем, третий — значение временной зоны, в которую преобразуем.
AST — ATLANTIC STANDARD TIME
ADT — ATLANTIC DAYLIGHT SAVING TIME
BST — BERING STANDARD TIME
BDT — BERING DAYLIGHT SAVING TIME
CST — CENTRAL STANDARD TIME
CDT — CENTRAL DAYLIGHT SAVING TIME
EST — EASTERN STANDARD TIME
EDT — EASTERN DAYLIGHT SAVING TIME
GMT — GREENWICH MEAN TIME (DATE LINE!)
HST — ALASKA-HAWAII STANDARD TIME
HDT — ALASKA-HAWAII DAYLIGHT SAVING TIME
MST — MOUNTAIN STANDARD TIME
MDT — MOUNTAIN DAYLIGHT SAVING TIME
NST — NEWFOUNDLAND STANDARD TIME
PST — PACIFIC STANDARD TIME
PDT — PACIFIC DAYLIGHT SAVING TIME
YST — YUKON STANDARD TIME
YDT — YUKON DAYLIGHT SAVING TIM
Читать дальше
Конец ознакомительного отрывка
Купить книгу