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



Pdf көрінісі
бет167/256
Дата18.11.2022
өлшемі1.88 Mb.
#465124
түріУчебное пособие
1   ...   163   164   165   166   167   168   169   170   ...   256
sql osnovi yazika

Глава 7. Изменение данных
Поскольку в таблице 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
when_add
| 2017-01-31 18:28:49.230179
operation
| INSERT
...
При вставке новых строк могут возникать ситуации, когда нарушается ограничение
первичного или уникального ключей, поскольку вставляемые строки могут иметь
значения ключевых атрибутов, совпадающие с теми, что уже имеются в таблице. Для
таких случаев предусмотрено специальное средство — предложение ON CONFLICT,
214


7.1. Вставка строк в таблицы
оно предусматривает два варианта действий на выбор программиста. Первый вари-
ант — отменять добавление новой строки, для которой имеет место конфликт зна-
чений ключевых атрибутов, и при этом не порождать сообщения об ошибке. Второй
вариант заключается в замене операции добавления новой строки операцией обнов-
ления существующей строки, с которой конфликтует добавляемая строка.
Начнем с первого варианта. Попробуем добавить строку, которая гарантированно бу-
дет конфликтовать с уже существующей строкой, причем как по первичному ключу
aircraft_code, так и по уникальному ключу model.


Достарыңызбен бөлісу:
1   ...   163   164   165   166   167   168   169   170   ...   256




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

    Басты бет