TableA と TableB という 2 つのテーブルがあります。
TableA には次のフィールドがあります。
TableA_ID
FileName
TableB には次のフィールドがあります。
TableB_ID
TableA_ID
CreationDate
TableA_ID フィールドの 2 つのテーブル間に外部キー リンクがあります。
両方のテーブルからレコードを削除する必要があります。TableB の「CreationDate」を調べて、特定の日付より後であれば、そのレコードを削除する必要があります。また、TableB のレコードと同じ TableA_ID を持つ TableA のレコードを削除する必要があります。
TableA_ID (1 対多の関係) を使用する複数のレコードが TableB に存在する場合があります。そのため、TableB のエントリがまだ使用している場合、TableA のレコードを削除できません。
これは単一のステートメントで実行できないことはわかっていますが、トランザクションで実行できることを嬉しく思います。私が抱えている問題は、これを行う方法がわからないことです。MS SQL Server 2008 を使用しています。可能であればトリガーを使用したくありません。