你好我正試圖在數據庫中加載數據庫時禁用所有外鍵約束。由於它是每月工作的一部分,我想動態地完成它,因此它可以處理任何更改。我試圖做到這一點,而不使用遊標或臨時表。我已經建立了下面的語句,但到目前爲止,而我希望它執行ALTER語句在SQL服務器中動態構建和執行語句
declare @SQLStatement as nvarchar(4000)
SET @SQLStatement = 'exec (''select ''''alter table prpcref_mjp'''' + ''''.'''' + b.name + ''''.'''' + parent_tbl.name + '''' NOCHECK CONSTRAINT '''' + fk.name
from prpcref_mjp.sys.foreign_keys fk
inner join prpcref_mjp.sys.all_objects parent_tbl
on fk.parent_object_id = parent_tbl.object_id
inner join prpcref_mjp.sys.schemas b
on fk.schema_id = b.schema_id'')'
EXECUTE sp_executesql @SQLStatement
您是否擔心所有數據加載後如何重新創建外鍵約束? – user212514