Anda hanya perlu memastikan bahwa Anda telah menyiapkan kunci asing dari baris anak ke induknya, dengan ON DELETE CASCASDE
opsi diatur pada kunci asing. Ini berfungsi sama baiknya dengan tabel referensi diri seperti halnya referensi dalam tabel terpisah. Untuk menghapus pohon, cukup hapus simpul induk. Semua baris turunan akan segera dihapus.
misalnya Diketahui:
CREATE TABLE MyTable
(
ID INT NOT NULL PRIMARY KEY,
ParentID INT NULL,
CONSTRAINT FK_MT_Parent FOREIGN KEY (ParentID) REFERENCES MyTable(ID) ON DELETE CASCADE
);
-- And inserting two trees of data:
-- 1-2-3
-- └-4
-- 10 - 11
INSERT INTO MyTable(ID,ParentID) VALUES
(1,null), (2,1), (3,2), (4,2),
(10,null), (11,10);
Kita dapat menghapus seluruh pohon pertama hanya dengan menghapus simpul akar:
DELETE FROM MYTable WHERE ID = 1;
Namun perhatikan bahwa dari Dokumen bahwa ada batasan kedalaman CASCADE
menghapus: