0

此代码不起作用:

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

SQL 代理作业每隔几秒钟运行一次此过程。直到某个时间它才会执行“blah blah ...”部分,但它每次都会执行,因为IF语句返回true

什么可能是错的?这根本没有意义... :'(

4

1 回答 1

1

不清楚您尝试实现的目标,但快速查看显示 2 个语法错误:ist MINUTE not minutes 并且您在 dateadd中缺少右括号

想到的一些问题:

  • 您是否尝试在每次作业执行时创建存储过程?
  • 为什么不将作业设置为在您希望它运行的时间执行,而不是通过运行作业来检查每一秒?:)
  • 为什么是动态SQL?
于 2013-09-04T13:22:37.123 回答