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



Pdf көрінісі
бет173/243
Дата21.07.2022
өлшемі3,05 Mb.
#147663
түріУчебно-практическое пособие
1   ...   169   170   171   172   173   174   175   176   ...   243
Байланысты:
Язык SQL. Базовый курс

WITH add_row AS
( INSERT INTO aircrafts_tmp
SELECT * FROM aircrafts
RETURNING aircraft_code, model, range,
CURRENT_TIMESTAMP, 'INSERT'
)
INSERT INTO aircrafts_log
SELECT ? FROM add_row;
Что нужно написать в этом запросе вместо вопросительного знака?
177


3. Если бы мы для копирования данных из таблицы «Самолеты» (aircrafts) в таб-
лицу aircrafts_tmp использовали команду INSERT без общего табличного выра-
жения
INSERT INTO aircrafts_tmp SELECT * FROM aircrafts;
то в качестве выходного результата мы увидели бы сообщение
INSERT 0 9
Как вы думаете, что будет выведено, если дополнить команду предложением
RETURNING * ?
INSERT INTO aircrafts_tmp SELECT * FROM aircrafts RETURNING *;
Проверьте ваши предположения на практике. Подумайте, каким образом мож-
но использовать выведенный результат?
4. В тексте главы в предложениях ON CONFLICT команды INSERT мы использовали
только выражения, состоящие из имени одного столбца. Однако в таблице «Ме-
ста» (seats) первичный ключ является составным и включает два столбца. Напи-
шите команду INSERT для вставки новой строки в эту таблицу и предусмотрите
возможный конфликт добавляемой строки со строкой, уже имеющейся в таб-
лице. Сделайте два варианта предложения ON CONFLICT: первый — с исполь-
зованием перечисления имен столбцов для проверки наличия дублирования,
второй — с использованием предложения ON CONSTRAINT.
Для того чтобы не изменить содержимое таблицы «Места», создайте ее копию
и выполняйте все эти эксперименты с таблицей-копией.
5. В предложении DO UPDATE команды INSERT может использоваться условие
WHERE. Самостоятельно ознакомьтесь с этой возможностью с помощью доку-
ментации и напишите такую команду INSERT.
6. Команда COPY по умолчанию ожидает получения вводимых данных в формате
text, когда значения данных разделяются символами табуляции. Однако мож-
но представлять входные данные в формате CSV (Comma Separated Values), т. е.
использовать в качестве разделителя запятую.


Достарыңызбен бөлісу:
1   ...   169   170   171   172   173   174   175   176   ...   243




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

    Басты бет