SQL Server で INNER JOIN を使用した複数のテーブルからの削除
MySQL とは異なり、SQL Server は、次を使用して複数のテーブルから削除するための構文をサポートしていません。内部結合。ただし、同じ結果を達成する別の方法もあります。
「削除された」疑似テーブルの使用
次のコード例を考えてみましょう:
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;
このコードは、「削除された」擬似テーブルを利用して、最初の削除ステートメントから削除された ID を保存します。これらの ID は、後続の削除ステートメントで使用され、他のテーブルから対応する行を削除します。
その他の考慮事項
以上がINNER JOIN を使用して SQL Server の複数のテーブルから削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。