आप इस उदाहरण में "हटाई गई" छद्म तालिका का लाभ उठा सकते हैं। कुछ इस तरह:
begin transaction;
declare @deletedIds table ( id int );
delete from t1
output deleted.id into @deletedIds
from table1 as t1
inner join table2 as t2
on t2.id = t1.id
inner join table3 as t3
on t3.id = t2.id;
delete from t2
from table2 as t2
inner join @deletedIds as d
on d.id = t2.id;
delete from t3
from table3 as t3 ...
commit transaction;
जाहिर है आप 'आउटपुट डिलीट' कर सकते हैं। दूसरे डिलीट पर भी, अगर आपको तीसरी टेबल में शामिल होने के लिए कुछ चाहिए।
एक साइड नोट के रूप में, आप इन्सर्ट भी कर सकते हैं।* एक इंसर्ट स्टेटमेंट पर, और दोनों इन्सर्ट।* और डिलीट।* एक अपडेट स्टेटमेंट पर।
संपादित करें: साथ ही, क्या आपने तालिका 2 + 3 से हटाने के लिए तालिका 1 पर ट्रिगर जोड़ने पर विचार किया है? आप एक निहित लेन-देन के अंदर होंगे, और आपके पास "सम्मिलित." और "हटाया" भी होगा। "छद्म सारणियां उपलब्ध हैं।