Sqlserver删除所有外键
DECLARE @DropFK NVARCHAR(MAX) = '';
DECLARE @TableName NVARCHAR(128);
DECLARE @FKName NVARCHAR(128);
DECLARE FKCursor CURSOR FOR
SELECT
TABLE_NAME,
fk.CONSTRAINT_NAME
FROM
INFORMATION_SCHEMA.TABLE_CONSTRAINTS fk
JOIN
INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS rc
ON fk.CONSTRAINT_NAME = rc.CONSTRAINT_NAME
WHERE
fk.CONSTRAINT_TYPE = 'FOREIGN KEY';
OPEN FKCursor;
FETCH NEXT FROM FKCursor INTO @TableName, @FKName;
WHILE @@FETCH_STATUS = 0
BEGIN
SET @DropFK = 'ALTER TABLE ' + QUOTENAME(@TableName) + ' DROP CONSTRAINT ' + QUOTENAME(@FKName) + ';';
EXEC sp_executesql @DropFK;
PRINT 'Dropped Foreign Key Constraint: ' + @FKName;
FETCH NEXT FROM FKCursor INTO @TableName, @FKName;
END;
CLOSE FKCursor;
DEALLOCATE FKCursor;
浙公网安备 33010602011771号