Scenario:
U werkt als SQL Server-ontwikkelaar. U moet de scripts leveren om alle Foreign Key-beperkingen in de SQL Server-database uit te schakelen. Dit kan een scenario zijn waarin u eenmalige gegevens moet laden en u bent in orde als gegevens de referentiële integriteit schenden.Oplossing:
Laten we de lijst met beperkingen voor externe sleutels ophalen uit een SQL Server-database voordat we het script voor uitschakelen genereren.
--Get List of Foreign Key Constraints if Enabled or Disabled USE YourDatabaseName GO Select Schema_name(Schema_id) as SchemaName, object_name(Parent_object_id) as TableName, name as ForeignKeyConstraintName, Case When Is_disabled=1 Then 'No' ELSE 'Yes' End as IsEnabled from sys.foreign_keys
Controleren of Foreign Key Constraint is in- of uitgeschakeld in SQL Server |
Laten we nu een script genereren om de beperking van de externe sleutel in de SQL Server-database uit te schakelen
USE YourdatabaseName go -- Drop Foreign Key Constraints Script SELECT distinct 'ALTER TABLE ' + '['+ Schema_name(FK.schema_id) + '].['+ OBJECT_NAME(FK.parent_object_id) + ']'+ ' NOCHECK CONSTRAINT ' + '[' + FK.name + ']' AS DisableConstraintQuery FROM sys.foreign_keys AS FK where is_disabled=0
Script genereren om alle beperkingen voor externe sleutels in SQL Server-database uit te schakelen |
Videodemo:alle beperkingen voor externe sleutels in SQL Server-database uitschakelen