В таблице одна строка. Как извлечь из нее 10 строк? Как сформировать последовательность? Календарь? Побочные "плюшки" иерархического SQL запроса в Oracle. Таблица dual Если нам нужно получить SQL запросом текущую дату, то в Oracle мы пишем: select sysdate from dual
;
31.03.19 В некоторых диалектах SQL для скаляра (текущая дата - скаляр) можно записать без from dual, но Oracle требует полноты минимальной конструкции выражения для чтения данных: select <список столбцов> from <список таблиц> Служебная таблица dual как раз и наличествует в системе для формализации выборок "из ниоткуда"...
В Oracle SQL есть замечательный класс аналитических функций. Генератор данных и задача Предположим, у нас есть некая последовательность значений. Генерируем ее с помощью иерархического запроса: select level as x
from dual
connect by level <= 5
;
1
2
3
4
5 Теперь мы хотели бы посчитать нарастающий итог, т.е. на каждой строке получить сумму всех предыдущих. Эта задача актуальна, например, для визуализации динамики суммарной выручки магазина за отчетный период по зафиксированным значениям дневной выручки...