values-запрос выборки
Функция
Определение values-запроса выборки данных.
Спецификация
< values-запрос выборки >
::=
VALUES (список значений1) [, (список значений2) ...]
Синтаксические правила
-
Конструкция
values (< список значений1 >) [, (< список значений2 >) …]
эквивалента конструкции
select < список значений1 > [union all select < список значений2 >] ...
values (1, 'Иванов', to_date('22.01.1985', 'dd.mm.yyyy')), (2, 'Петров', to_date('15.07.1990', 'dd.mm.yyyy')); | 1|Иванов|22.01.1985:00:00:00.00| | 2|Петров|15.07.1990:00:00:00.00|
select 1, 'Иванов', to_date('22.01.1985', 'dd.mm.yyyy') UNION ALL select 2, 'Петров', to_date('15.07.1990', 'dd.mm.yyyy'); | 1|Иванов|22.01.1985:00:00:00.00| | 2|Петров|15.07.1990:00:00:00.00|
-
Конструкция
< values-запрос выборки >
допустима в тех местах, где по синтаксису разрешена конструкция< select-запрос выборки >
.table (values (1, 'Иванов', to_date('22.01.1985', 'dd.mm.yyyy'), 2, 'Петров', to_date('15.07.1990', 'dd.mm.yyyy'))); | 1|Иванов|22.01.1985:00:00:00.00| | 2|Петров|15.07.1990:00:00:00.00|
values (1, 'Иванов', to_date('22.01.1985', 'dd.mm.yyyy')), (2, 'Петров', to_date('15.07.1990', 'dd.mm.yyyy')) limit 1;
values (1 as id, 'Иванов', to_date('22.01.1985', 'dd.mm.yyyy')), (2 as id, 'Петров', to_date('15.07.1990', 'dd.mm.yyyy')) order by 2 desc; | 2|Петров|15.07.1990:00:00:00.00| | 1|Иванов|22.01.1985:00:00:00.00|
select count(*) from ( values (1, 'Иванов', to_date('22.01.1985', 'dd.mm.yyyy')), (2, 'Петров', to_date('15.07.1990', 'dd.mm.yyyy'))); | 2|
-
Максимальное число элементов в списке VALUES - 2000 (все значения полей всех добавляемых строк в INSERT образуют список и общее число этих значений полей строк не должно быть больше 2000, то есть для кортежей из 1 поля можно добавить за раз 2000 строк, для кортежей из 4-х полей - 500 строк и т.д.).