Если вы удалите PK (который обычно является кластерным индексом), SQL Server удалит и заново создаст все некластеризованные индексы (это необходимо, потому что, если у вас есть кластеризованный индекс, некластеризованные индексы указывают на кластеризованный индекс).Если у вас нет кластеризованного индекса (кучи), некластеризованные индексы указывают на строку данных
, перестройка кластерного индекса автоматически обновит статистику, реорг не будет
Если высоздала ключи с помощью cascade update
, затем они должны обновляться автоматически
пример
create table pri(id int not null primary key)
go
create table ForeignK(fid int not null)
go
ALTER TABLE dbo.ForeignK ADD CONSTRAINT
FK_ForeignK_pri FOREIGN KEY
(fid) REFERENCES dbo.pri(id) ON UPDATE CASCADE
ON DELETE NO ACTION
insert pri values(1)
insert ForeignK values(1)
теперь обновите таблицу PK
update pri set id = 5
go
теперь это будет также 5
select * from ForeignK