ホームページ > データベース > mysql チュートリアル > INNER JOIN を使用して SQL Server の複数のテーブルから削除する方法

INNER JOIN を使用して SQL Server の複数のテーブルから削除する方法

Mary-Kate Olsen
リリース: 2025-01-07 06:51:43
オリジナル
1018 人が閲覧しました

How to Delete from Multiple Tables in SQL Server Using INNER JOIN?

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 は、後続の削除ステートメントで使用され、他のテーブルから対応する行を削除します。

その他の考慮事項

  • 「削除された出力」を使用することもできます。 3 番目のテーブルとの結合に必要な場合は、2 番目の delete ステートメントで実行します。
  • 必要に応じて、親テーブル (table1 など) でトリガーを使用して、子テーブル (table2 や table3 など) から行を自動的に削除することを検討してください。このアプローチは、複数のテーブル間でデータの整合性を維持するための便利で効率的な方法を提供します。

以上がINNER JOIN を使用して SQL Server の複数のテーブルから削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート