0

VBScript でパージ スクリプトを作成中です。このスクリプトは、1 か月以上経過したレコードをテーブルから削除します。

各テーブルの基準は異なり、親テーブルと子テーブルの両方があります (つまり、後者は ID コードとアップロード ステータスを取得するために前者に依存しています)。

私の質問:DELETE各テーブルの各ブロックは、子と親の削除を含め、個別の手順として作成する必要がありますか? これをどのように処理するのが最善かつ最も効率的でしょうか?

SQL コードのサンプル:

DELETE FROM TestStaging.dbo.SpinDataEntries
WHERE TestStaging.dbo.SpinDataEntries.SpinDataId IN
(select TestStaging.dbo.SpinData.SpinDataId from TestStaging.dbo.SpinData
WHERE TestStaging.dbo.SpinData.UploadStatus in ('F', 'C')
AND LastUploaded < DATEADD (m,- 1,SYSDATETIME()));

DELETE FROM TestStaging.dbo.SpinData
WHERE TestStaging.dbo.SpinData.UploadStatus in ('F', 'C')
AND LastUploaded < DATEADD (m,- 1,SYSDATETIME());

これら 2 つのブロックのそれぞれと残りのコードを別々のストアド プロシージャとしてログに記録し、別々のメインの VBScript から呼び出す必要がありますか?

4

1 に答える 1

0

各ステートメントを個別に実行できるようにする必要がない限り、それらを単一のストアド プロシージャにラップする方が効率的です。

于 2014-10-06T08:38:05.253 に答える