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


SELECT add_row.aircraft_code, add_row.model, add_row.range



Pdf көрінісі
бет162/243
Дата21.07.2022
өлшемі3,05 Mb.
#147663
түріУчебно-практическое пособие
1   ...   158   159   160   161   162   163   164   165   ...   243
Байланысты:
Язык SQL. Базовый курс

SELECT add_row.aircraft_code, add_row.model, add_row.range, ...
Поскольку в таблице aircrafts_log существует еще два столбца, то для них мы допол-
нительно передаем значения CURRENT_TIMESTAMP и 'INSERT'.
Проверим, что получилось:
SELECT * FROM aircrafts_tmp ORDER BY model;
aircraft_code |
model
| range
---------------+---------------------+-------
319
| Airbus A319-100
| 6700
320
| Airbus A320-200
| 5700
321
| Airbus A321-200
| 5600
733
| Boeing 737-300
| 4200
763
| Boeing 767-300
| 7900
773
| Boeing 777-300
| 11100
CR2
| Bombardier CRJ-200 | 2700
CN1
| Cessna 208 Caravan | 1200
SU9
| Sukhoi SuperJet-100 | 3000
(9 строк)
Проверим также и содержимое журнальной таблицы:
SELECT * FROM aircrafts_log ORDER BY model;
--[ RECORD 1 ]-+---------------------------
aircraft_code | 319
model
| Airbus A319-100
range
| 6700
when_add
| 2017-01-31 18:28:49.230179
operation
| INSERT
--[ RECORD 2 ]-+---------------------------
aircraft_code | 320
model
| Airbus A320-200
range
| 5700
167


when_add
| 2017-01-31 18:28:49.230179
operation
| INSERT
...
При вставке новых строк могут возникать ситуации, когда нарушается ограничение
первичного или уникального ключей, поскольку вставляемые строки могут иметь
значения ключевых атрибутов, совпадающие с теми, что уже имеются в таблице. Для
таких случаев предусмотрено специальное средство — предложение ON CONFLICT,
оно предусматривает два варианта действий на выбор программиста. Первый вари-
ант — отменять добавление новой строки, для которой имеет место конфликт зна-
чений ключевых атрибутов, и при этом не порождать сообщения об ошибке. Второй
вариант заключается в замене операции добавления новой строки операцией обнов-
ления существующей строки, с которой конфликтует добавляемая строка.
Начнем с первого варианта. Попробуем добавить строку, которая гарантированно бу-
дет конфликтовать с уже существующей строкой, причем, как по первичному ключу
aircraft_code, так и по уникальному ключу model.


Достарыңызбен бөлісу:
1   ...   158   159   160   161   162   163   164   165   ...   243




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

    Басты бет