2016-08-24 6 views
1

Webフォームからユーザー入力を受け取り、データベースを更新するストアドプロシージャがあります。スケジュールされたストアドプロシージャのベストプラクティス

CREATE TABLE AccountTable 
(
    RowID int IDENTITY(1, 1), 
    AccountID varchar(2), 
    AccountName varchar(50), 
    SeqNum int, 
    SeqDate datetime 
) 

CREATE PROCEDURE [ACCOUNTTABLE_UPDATE] 
(
    @SeqNum int, 
    @SeqDate datetime, 
    @Account_ID varchar(2) 
) 
AS 
    SET NOCOUNT ON 
BEGIN 
    UPDATE AccountTable 
    SET SeqNum = @SeqNum, SeqDate = @SeqDate 
    WHERE AccountID = @AccountID 
END 

ユーザーがWebアプリケーションを実行するたびに、テーブルはSeqNumSeqDate列を更新します。私はSeqNumカラムを24時間後にNULLにリセットしておきたいと思います。現在の日付が日付列よりも理想的であるか、またはスケジュールされたタスクを実装しているかどうかをチェックするだけで、ストアドプロシージャのチェックを入れますか?

+0

asをNULLに変更してリセットしますか? – scsimon

+0

はい、NULLに、混乱のために申し訳ありません、私はそれを編集します。 – walangala

+1

ユーザーが提供するデータをリセットするのはなぜですか?なぜユーザーに、リセットされるデータを提供するよう依頼するのですか? – Serg

答えて

1

あなたのSPをSql Agentサービスのタスクとして実行してみてください。

0

これを本当にしたいのであれば、私はスケジューリングのためにSQL Agentを使うべきだと思います。

関連する問題