0

このコードは機能しません:

conn.Execute("CREATE PROCEDURE mySuperProcedure 
AS
BEGIN 
    IF GETDATE() >= DATEADD(hour," & waitHours & ",
        DATEADD(minutes," & waitMinutes & ",'" & now & "') 
    BEGIN
        blah blah...
    END
END")

SQL エージェント ジョブは、この手順を数秒ごとに実行します。特定の時間まで「何とか...」の部分を実行することはありませんが、IFステートメントがtrueを返すため、毎回実行します。

何が間違っている可能性がありますか?まったく意味がない... :'(

4

1 に答える 1

1

何を達成しようとしているのか明確ではありませんが、ざっと見てみると 2 つの構文エラーが表示されます: ist MINUTEではなく、dateadd に閉じ括弧がありません

頭に浮かぶいくつかの質問:

  • ジョブが実行されるたびにストアド プロシージャを作成しようとしますか?
  • ジョブを実行してその時間が来たかどうかを毎秒チェックするのではなく、実行したい時間にジョブを実行するように設定してみませんか? :)
  • なぜ動的 SQL なのですか?
于 2013-09-04T13:22:37.123 に答える