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

Нельзя вставить в таблицу данные, если значение одного из столбцов добавляемой записи нарушает установленные для этой таблицы ограничения целостности. К примеру, если для создания таблицы ЕМР, которую мы использовали в предыдущих обсуждениях, применяется сценарий 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

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








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


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

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

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

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