2017-04-19 16 views
3

与えられた時間内に(例えば、毎日午前10時)指定されたテーブル内のいくつかの行を削除するトリガーが必要です。これをどのように実装すればよいですか?代わりに、ストアドプロシージャにコードを設定し、午前10時、毎日そのSPを呼び出すようにスケジュールされたジョブを定義することができますトリガの定期的にデータを削除するトリガー

答えて

6

完全なSQL Serverの

あなたが仕事を作成:

https://docs.microsoft.com/en-us/sql/ssms/agent/create-a-job

そのコマンドは、お使いのクリーニングSPへの呼び出しでなければなら何か:

exec (your stored proc name) (and possibly add parameters) 

そして、あなたは1日1回と呼ばれるように、それをスケジュールします:

https://docs.microsoft.com/en-us/sql/ssms/agent/schedule-a-job

SQL Server Express

SQL Serverエージェントを使用できないため、SQL Serverエージェントを使用できないため、Windowsのタスクスケジューラを使用して、1日に1回クリーニングコードを呼び出すことができます。

はあなたの削除コマンドでスクリプトファイルcleaning.sqlを作成し、また、それを実行するための cleaning.batバッチファイルを作成します。バッチファイルの例:

これら2つのファイルを同じフォルダに置き、毎日10時にそのバッチを実行するようにタスクスケジューラを設定します。

+0

残念ながら、私のSQLサーバにはSQLサーバエージェント(エクスプレス版)がないため、ジョブとスケジュールを使用できません。だからどのようにタスクに対処するのですか? –

+0

SQL Server Expressもカバーするように私の回答を編集します。数分で確認してください。 –

+0

よろしくお願いします。このオプションは大丈夫です。 とにかく、同じアクションを実行するトリガーを指定する方法がある場合は、私も興味があります。これが可能かどうか知っていますか? –

関連する問題