Слияние данных в таблице Oracle

Рассмотрим следующий сценарий. Скажем, вы управляете кинотеатром, входящим в состав общенациональной сети кинотеатров. Каждый день из штаб-квартиры корпорации рассылается информация о репертуаре, которую необходимо ввести в цифровое информационное табло, установленное в каждой билетной кассе. В состав этой информации входит перечень всех фильмов, которые будут показываться в кинотеатре, вместе с расписанием сеансов. Информация о времени показа фильмов для всех имеющихся фильмов изменяется ежедневно. Давайте создадим пример, используя приведенный ниже
блок кода:

SQL> create table movies

2 (movie_name varchar2 (30),

3 showtime varchar2(30),

4 constraint pkjnovies primary key (movie_name)];

Table created.

SQL> insert into movies ('GONE WITH THE WIND1, '6:00 PM');

1 row created-

SQL> select - from movi.es;

MOVIE_NAME SHOWTIME

GONE WITH THE WIND 6:00 PM

Каждую неделю в подборку добавляются новые кинофильмы и изменяется расписание показа всех фильмов. В прошльгх версиях SQL Oracle было невозможно справиться с подобной ситуацией. К примеру, если вы пытались сначала вставить (insert) в таблицу MOVIE новые записи для добавляемых фильмов, а затем обновить (update) существующие записи, изменяя в них время показа, Oracle выдавал ошибку либо для команды insert (для существующих фильмов), либо для команды update (для новых фильмов). Взгляните на сле­дующий пример, где мы пытаемся добавить новую запись для фильма GONE WITH THE WIND, даже если эта запись уже существует в нашей таблице;

SQL> insert into movies ('GONE WITH THE WIND1, '7:30 PM1);

insert into movies ('GONE WITH THE WIND', '7:30 PM'}

ERROR aC line 1:

ORA-Q0001: unique constraint (SCOTT.PK_EMP) violated

(нарушено ограничение по уникальности (SCOTT.pK_EMP))

Чтобы избежать ошибок, вам следовало составить программу на PL/SQL. В этой программе можно было использовать условный оператор для проверки наличия строки, если нужно было изменить время показа существующего фильма, или просто добавлять новую строку, если этот фильм ранее не демонстрировался.








Дата добавления: 2015-08-21; просмотров: 638;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.003 сек.