Изменение номера служащего 10102 в соответствующей строке таблицы employee. Новое значение номера 22222

Оценить
(0 голоса)

В этом случае изменяется только существующее значение первичного ключа родительской таблицы, но не меняется соответствующее значение внешнего ключа в дочерней таблице. По этой причине система отменяет изменение строки в таблице employee с номером служащего 10102. Ссылочная целостность требует выполнения условия, что ни одна строка в дочерней таблице (с учетом предложения foreign key) не может присутствовать, если в родительской таблице нет соответствующей строки (предложение primary key). В противном случае строки в дочерней таблице станут «осиротевшими». Если бы модификации, описанные выше, были разрешены, то строки в таблице workson, имеющие номер служащего 10102, стали бы осиротевшими. Система должна отменить это изменение. Соответствующий оператор Transact-SQL:

use sample; update employee set emp_no = 22222 where emp_no = 10102;


Удаление строки из таблицы employee с номером служащего 10102

Случай 4 похож на случай 3. Это удаление требует удаления служащего для каждой существующей строки из дочерней таблицы. В примере 5.11 показано объявление таблиц базы данных sample со всеми существующими ограничениями первичных и внешних ключей. Если таблицы employee, department, project и workson уже существуют, то удалите их, используя оператор drop имя_ та блицы.

Изменение номера служащего 10102 в соответствующей строке таблицы employee. Новое значение номера 22222

Изменение номера служащего 10102 в соответствующей строке таблицы employee. Новое значение номера 22222

 


Опции ON DELETE и ON UPDATE
Создание других объектов базы данных
Ограничения целостности и домены
Псевдонимы типов данных
Типы данных CLR

Добавить комментарий


Защитный код
Обновить

© 2018 www.serversql.ru. Все права защищены.