Я слышал, как люди обращались к этой таблице, и не был уверен, о чем она.
oracle
dual-table
Брайан Дж.
источник
источник
Ответы:
Это своего рода фиктивная таблица с единственной записью, используемой для выбора, когда вы на самом деле не заинтересованы в данных, а вместо этого хотите получить результаты некоторых системных функций в операторе выбора:
например
select sysdate from dual;
См. Http://www.adp-gmbh.ch/ora/misc/dual.html.
источник
Это фиктивная таблица с одним элементом. Это полезно, потому что Oracle не допускает таких утверждений, как
Вы можете обойти это ограничение, написав
вместо.
источник
Из Википедии
история
Таблица DUAL была создана Чаком Вейссом из корпорации Oracle для предоставления таблицы для объединения во внутренние представления:
Это может быть неочевидно из вышесказанного, но исходная таблица DUAL содержала две строки (отсюда и ее название). В настоящее время он имеет только один ряд.
оптимизация
Изначально DUAL был таблицей, и ядро базы данных выполняло дисковый IO для таблицы при выборе из DUAL. Этот дисковый ввод-вывод обычно представлял собой логический ввод-вывод (не связанный с доступом к физическому диску), поскольку дисковые блоки обычно уже кэшировались в памяти. Это привело к большому количеству логических операций ввода-вывода по сравнению с таблицей DUAL.
Более поздние версии базы данных Oracle были оптимизированы, и база данных больше не выполняет физический или логический ввод-вывод для таблицы DUAL, хотя таблица DUAL все еще фактически существует.
источник
Я думаю, что эта статья в Википедии может помочь уточнить.
http://en.wikipedia.org/wiki/DUAL_table
источник
Это специальная таблица в Oracle. Я часто использую его для расчетов или проверки системных переменных. Например:
Select 2*4 from dual
распечатывает результат расчетаSelect sysdate from dual
печатает текущую дату сервера.источник
Тип псевдотаблицы, с которой вы можете запускать команды и получать результаты, такие как sysdate. Также помогает проверить работоспособность Oracle, проверить синтаксис sql и т. Д.
источник
Служебная таблица в Oracle только с 1 строкой и 1 столбцом. Он используется для выполнения ряда арифметических операций и может использоваться, как правило, там, где необходимо сгенерировать известный результат.
ВЫБРАТЬ * ИЗ двойного;
даст одну строку с одним столбцом с именем «DUMMY» и значением «X», как показано здесь:
источник
Больше фактов о ДВОЙНОМ ....
http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:1562813956388
Захватывающие эксперименты, сделанные здесь, и более захватывающие объяснения Тома
источник
Таблица DUAL - это специальная таблица из одной строки, присутствующая по умолчанию во всех установках базы данных Oracle. Он подходит для использования при выборе псевдостолбца, такого как SYSDATE или USER.
В таблице есть один столбец VARCHAR2 (1) с именем DUMMY, который имеет значение «X»
Вы можете прочитать все об этом в http://en.wikipedia.org/wiki/DUAL_table
источник
DUAL необходим в разработке PL / SQL для использования функций, которые доступны только в SQL
например
источник
Это объект для вставки из этой возвращаемой 1 пустой строки. Например: выберите 1 из двойного; возвращает 1
выберите 21 + 44 из двойного; возвращает 65
выберите [sequence] .nextval из двойного; возвращает следующее значение из последовательности.
источник
ДВОЙНОЙ мы в основном использовали для получения следующего числа из последовательностей.
Синтаксис: ВЫБЕРИТЕ 'sequence_name'.NEXTVAL FROM DUAL
Это вернет значение в одну строку в один столбец (имя столбца NEXTVAL).
источник
другая ситуация, которая требует,
select ... from dual
- это когда мы хотим получить код (определение данных) для различных объектов базы данных (таких как TABLE, FUNCTION, TRIGGER, PACKAGE), используя встроеннуюDBMS_METADATA.GET_DDL
функцию:Действительно, в настоящее время IDE предоставляют возможность просмотра DDL таблицы, но в более простых средах, таких как SQL Plus, это может быть очень удобно.
РЕДАКТИРОВАТЬ
более общая ситуация: в основном, когда нам нужно использовать любую процедуру PL / SQL внутри стандартного оператора SQL или когда мы хотим вызвать процедуру из командной строки:
оба рецепта взяты из книги «Oracle PL / SQL Recipes» Джоша Джуно и Мэтта Арены
источник
DUAL - это специальная таблица с одной строкой и одним столбцом, присутствующая по умолчанию во всех базах данных Oracle. Владелец DUAL - SYS.
DUAL - это таблица, автоматически создаваемая Oracle Database вместе с функциями данных. Он всегда используется для получения функций операционных систем (таких как дата, время, арифметическое выражение и т. Д.)
источник