Рано или поздно, каждый специалист, работающий с базами данных ORACLE, наталкивается на ограничение максимального количества элементов для оператора IN: SELECT *
FROM VOUCHERS
WHERE CLIENT_ID IN (28, 45, 46, 102,...) В ORACLE для оператора IN в скобках можно перечислять не более 1000 элементов через запятую. Иногда этого количества может не хватать. Что делать в этом случае? Во-первых, давай рассмотрим случай когда такого большого количества может не хватать? Не каждый день составляешь запрос...
В таблице одна строка. Как извлечь из нее 10 строк? Как сформировать последовательность? Календарь? Побочные "плюшки" иерархического SQL запроса в Oracle. Таблица dual Если нам нужно получить SQL запросом текущую дату, то в Oracle мы пишем: select sysdate from dual
;
31.03.19 В некоторых диалектах SQL для скаляра (текущая дата - скаляр) можно записать без from dual, но Oracle требует полноты минимальной конструкции выражения для чтения данных: select <список столбцов> from <список таблиц> Служебная таблица dual как раз и наличествует в системе для формализации выборок "из ниоткуда"...