Учебное пособие Санкт-Петербург «бхв-петербург»


), ( 'Pavel', '{ 2, 5 }'::integer[]



Pdf көрінісі
бет69/256
Дата18.11.2022
өлшемі1.88 Mb.
#465124
түріУчебное пособие
1   ...   65   66   67   68   69   70   71   72   ...   256
sql osnovi yazika

),
( 'Pavel', '{ 2, 5 }'::integer[],
'{ "сосиска", "каша", "кофе" }'::text[]
),
( 'Boris', '{ 3, 5, 6 }'::integer[],
'{ "котлета", "каша", "чай" }'::text[]
);
INSERT 0 4
Обратите внимание, что каждое из текстовых значений, включаемых в литерал
массива, заключается в двойные кавычки, а в качестве типа данных указывается
text[].
Вот что получилось:
SELECT * FROM pilots;
pilot_name | schedule
|
meal
------------+-------------+-------------------------
Ivan
| {1,3,5,6,7} | {сосиска,макароны,кофе}
Petr
| {1,2,5,7}
| {котлета,каша,кофе}
Pavel
| {2,5}
| {сосиска,каша,кофе}
Boris
| {3,5,6}
| {котлета,каша,чай}
(4 строки)
Давайте получим список пилотов, предпочитающих на обед сосиски:
SELECT * FROM pilots WHERE meal[ 1 ] = 'сосиска';
pilot_name |
schedule |
meal
------------+-------------+-------------------------
Ivan
| {1,3,5,6,7} | {сосиска,макароны,кофе}
Pavel
| {2,5}
| {сосиска,каша,кофе}
(2 строки)
91


Глава 4. Типы данных СУБД PostgreSQL
Предположим, что руководство авиакомпании решило, что пища пилотов долж-
на быть разнообразной. Оно позволило им выбрать свой рацион на каждый
из четырех дней недели, в которые пилоты совершают полеты. Для нас это
решение руководства выливается в необходимость модифицировать таблицу,
а именно: столбец meal теперь будет содержать двумерные массивы. Опреде-
ление этого столбца станет таким: meal text[][].
Задание.
Создайте новую версию таблицы и соответственно измените коман-
ду INSERT, чтобы в ней содержались литералы двумерных массивов. Они будут
выглядеть примерно так:


Достарыңызбен бөлісу:
1   ...   65   66   67   68   69   70   71   72   ...   256




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

    Басты бет