Учебно-практическое пособие москва 2017 ббк



Pdf көрінісі
бет43/243
Дата21.07.2022
өлшемі3,05 Mb.
#147663
түріУчебно-практическое пособие
1   ...   39   40   41   42   43   44   45   46   ...   243
Байланысты:
Язык SQL. Базовый курс

SELECT * FROM pilots;
pilot_name | schedule
------------+-------------
Ivan
| {1,3,5,6,7}
Petr
| {1,2,5,7}
Pavel
| {2,5}
Boris
| {3,5,6}
(4 строки)
Предположим, что руководство компании решило, что каждый пилот должен летать 4
раза в неделю. Значит, нам придется обновить значения в таблице. Пилоту по имени
Boris добавим один день с помощью операции конкатенации:
UPDATE pilots
SET schedule = schedule || 7
WHERE pilot_name = 'Boris';
UPDATE 1
Пилоту по имени Pavel добавим один день в конец списка (массива) с помощью функ-
ции array_append:
UPDATE pilots
SET schedule = array_append( schedule, 6 )
WHERE pilot_name = 'Pavel';
UPDATE 1
Ему же добавим один день в начало списка с помощью функции array_ prepend (об-
ратите внимание, что параметры функции поменялись местами):
UPDATE pilots
SET schedule = array_prepend( 1, schedule )
WHERE pilot_name = 'Pavel';
UPDATE 1
48


У пилота по имени Ivan имеется лишний день в графике. С помощью функции
array_remove удалим из графика пятницу (второй параметр функции указывает
зна-
чение
элемента массива, а не индекс):
UPDATE pilots
SET schedule = array_remove( schedule, 5 )
WHERE pilot_name = 'Ivan';
UPDATE 1
У пилота по имени Petr изменим дни полетов, не изменяя их общего количества. Вос-
пользуемся индексами для работы на уровне отдельных элементов массива. По умол-
чанию нумерация индексов начинается с единицы, а не с нуля. При необходимости
ее можно изменить. К элементам одного и того же массива можно обращаться в пред-
ложении SET по отдельности, как будто это разные столбцы.
UPDATE pilots


Достарыңызбен бөлісу:
1   ...   39   40   41   42   43   44   45   46   ...   243




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет