363 прочтения · 2 года назад
Хитрые решения нетипичных задач с использованием подзапросов в блоке SELECT
В первый же рабочий день нас просит о помощи коллега. Его запрос «почему–то» вызывает ошибку при выполнении: При выполнении данного запроса возникает ошибка: Или, по–русски, эта ошибка отображается так: ORA–01427: подзапрос одиночной строки возвращает более одной строки. Напомню, что пример взят из учебной базы данных курса "SQL, Базы данных. ORACLE". В таблице Persons содержатся Сотрудники, а в таблице PersonCars - их автомобили. В столбце PersonID таблицы PersonCars значения, ссылающиеся на Сотрудников из таблицы Persons...
530 прочтений · 1 год назад
Как обойти ограничение в 1000 элементов для оператора IN в ORACLE
Рано или поздно, каждый специалист, работающий с базами данных ORACLE, наталкивается на ограничение максимального количества элементов для оператора IN: SELECT *   FROM  VOUCHERS WHERE CLIENT_ID IN (28, 45, 46, 102,...) В ORACLE для оператора IN в скобках можно перечислять не более 1000 элементов через запятую. Иногда этого количества может не хватать. Что делать в этом случае? Во-первых, давай рассмотрим случай когда такого большого количества может не хватать? Не каждый день составляешь запрос...