Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Вставка данных и ограничения целостности



Нельзя вставить в таблицу данные, если значение одного из столбцов добавляемой записи нарушает установленные для этой таблицы ограничения целостности. К примеру, если для создания таблицы ЕМР, которую мы использовали в предыдущих обсуждениях, применяется сценарий utlsampl. sql, Oracle построит для столбца EMPNO ограничение первичного ключа, чтобы принудительно обеспечить уникальность значений этого столбца. Следующий блок кода показывает, как отреагировал бы Oracle, если бы мы попытались вставить в ЕМР строку для служащего SMITHERS, используя для него значение EMPNO, уже определенное для служащего SMITH:

SQL> insert into emp (empno, ename, job)

2 values (7369, 'SMITHERS', 'LACKEY');

insert into emp (eracno, enarne, job)

ERROR at line 1:

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

Таким образом, при попытке добавить в таблицу новые данные, нарушающие ограничения целостности для таблицы, Oracle возвращает сообщение об ошибке. К тому же не забудьте, что ошибочная запись в базу данных при этом не включается. Из следующего примера можно получить подтверждение, что запись для служащего SMITHERS не была добавлена в базу данных и никоим образом не перекрыла существующую запись для служащею SMITH:

SQL> select empno, ename, job

2 from emp

3 where empno =• 7369;

EMPNO ENAME JOB

369 SMITH CLERK

Совет Для того чтобы вставить запись в таблицу с ограничением внешнего столбца, необходимо сначала вставить новую строку в родительскую таблицу, а уж затем вставлять новые строки в дочернюю(ие) таблицу(ы)





Дата публикования: 2014-12-11; Прочитано: 219 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...