Bazen tasarımda hata yaptığımızda tüm foreign key leri silip yeniden oluşturmamız gerebilir. Aşağıdaki script bu işleme yardımcı olmaktadır. Bu script de SQL server da bulunan INFORMATION_SCHEMA içerisindeki TABLE_CONSTRAINTS view i bize yardımcı olacak.
select * from INFORMATION_SCHEMA.TABLE_CONSTRAINTS
Bu sorgudan elde edilen sonuçları Alter Table ifadesi ile birleştirirsek Foreign Keyleri sistemden silen sorguyuda elde etmiş oluruz.
while(exists(select 1 from INFORMATION_SCHEMA.TABLE_CONSTRAINTS where CONSTRAINT_TYPE='FOREIGN KEY')) begin declare @sql nvarchar(2000) SELECT TOP 1 @sql=('ALTER TABLE ' + TABLE_SCHEMA + '.[' + TABLE_NAME + '] DROP CONSTRAINT [' + CONSTRAINT_NAME + ']') FROM information_schema.table_constraints WHERE CONSTRAINT_TYPE = 'FOREIGN KEY' exec (@sql) end