2016-08-24 3 views
1

Ich habe eine gespeicherte Prozedur, die Benutzereingaben aus einem Webformular übernimmt und eine Datenbank aktualisiert.Best Practice für eine geplante gespeicherte Prozedur

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 

Jedes Mal, wenn der Benutzer die Webapp läuft, aktualisiert die Tabelle, die die SeqNum und SeqDate Spalten. Ich möchte die SeqNum Spalte nach 24 Stunden auf NULL zurückgesetzt haben. Wäre es einfach ideal, die gespeicherte Prozedur zu überprüfen und zu überprüfen, ob das aktuelle Datum größer als die Datumsspalte ist, oder eine geplante Aufgabe zu implementieren?

+0

Reset wie bei NULL? – scsimon

+0

Ja zu NULL, sorry für die Verwirrung, ich werde das bearbeiten. – walangala

+1

Warum die vom Benutzer bereitgestellten Daten zurücksetzen? Warum bitten Sie einen Benutzer, Daten anzugeben, die zurückgesetzt werden? – Serg

Antwort

1

Versuchen Sie einfach, Ihren SP als Dienst des Sql-Agenten auszuführen.

0

Wenn Sie wirklich dies wollen, denke ich, sollten Sie SQL Agent für die Planung verwenden.