SQL Server: Drop Table dengan Cascading Constraints
Dalam Oracle, pilihan "CASCADE CONSTRAINTS PURGE" dalam pernyataan DROP TABLE membenarkan pengalihan keluar jadual dan kekangan dan data bergantungnya.
fungsi yang setara dalam SQL Server tidak tersedia melalui satu arahan. Walau bagaimanapun, terdapat dua cara alternatif untuk mencapai hasil yang diingini:
Menggunakan Pilihan Skrip:
Ini akan menjana skrip yang merangkumi semua objek bergantung dan akan digugurkan mereka dalam susunan yang betul.
Menggunakan Prosedur Tersimpan Rekursif:
CREATE PROC DropTableCascade (@TableName nvarchar(max)) AS BEGIN IF OBJECT_ID(@TableName) IS NOT NULL BEGIN EXEC sp_MSForEachTable 'IF "{DB_NAME()}.dbo.' + name in (SELECT name FROM sysobjects WHERE type = ''U'' AND parent_id = OBJECT_ID(@TableName)) BEGIN PRINT ''Dropping table '' + ''{DB_NAME()}.dbo.'' + name PRINT ''DELETE FROM '' + ''{DB_NAME()}.dbo.'' + name + ''; DROP TABLE '' + ''{DB_NAME()}.dbo.'' + name + ''; END' DROP TABLE @TableName END END
EXEC DropTableCascade 'YourTableName'
Atas ialah kandungan terperinci Bagaimana untuk Menggugurkan Jadual Pelayan SQL dengan Kekangan Lata?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!