В этом случае изменяется только существующее значение первичного ключа родительской таблицы, но не меняется соответствующее значение внешнего ключа в дочерней таблице. По этой причине система отменяет изменение строки в таблице 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 имя_ та блицы.