Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Vincolo di chiave esterna

ALTER TABLE Test NOCHECK CONSTRAINT ALL
ALTER TABLE RefPhysician NOCHECK CONSTRAINT ALL

ALTER TABLE Test WITH CHECK CHECK CONSTRAINT ALL
ALTER TABLE RefPhysician WITH CHECK CHECK CONSTRAINT ALL

IMPORTANTE: La sintassi "WITH CHECK CHECK" nelle ultime due righe serve a garantire che SQL Server consideri nuovamente attendibili i vincoli FK dopo la riattivazione. Non vuoi davvero riattivarli come non attendibili!

Tuttavia, se hai qualche influenza sul design del tavolo, io fortemente suggerire che i valori mutabili non siano usati nelle chiavi primarie o esterne. I vincoli FK funzionano molto meglio se si basano su ID interni che non cambiano mai dopo l'inserimento.