【问题标题】:How to execute stored procedure on first day of a new year in SQL如何在SQL中的新年第一天执行存储过程
【发布时间】:2016-03-08 14:56:45
【问题描述】:

我想在新年的第一天执行以下存储过程。

CREATE PROCEDURE archive_reservation_data
AS
BEGIN
    INSERT INTO ARCHIVED_RESERVATION
        SELECT 
            r_id, START_DATE, END_DATE, C_ID,V_ID, TOTAL_COST, 
            'Name' AS ADDED_BY, GETDATE() AS ADDED_DATE 
        FROM 
            RESERVATION

    TRUNCATE TABLE RESERVATION
END

【问题讨论】:

  • 然后创建一个作业并将其安排在 1 月的第一天,每 12 个月一次

标签: sql sql-server database stored-procedures


【解决方案1】:

您需要创建一个 SQL 代理作业来执行您的存储过程并将其安排在 1 月 1 日。

见:https://msdn.microsoft.com/en-gb/library/ms190268(v=sql.120).aspx

【讨论】:

    【解决方案2】:

    SQL 代理是执行此操作的标准方法。

    如果您出于任何原因(例如 Express 版)无法使用 SQL 代理,请编写一个 .BAT 脚本以使用 SQLCMD 执行存储过程,并使用任务调度程序进行调度。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-03-26
      • 2011-05-07
      • 2017-10-14
      • 1970-01-01
      • 1970-01-01
      • 2018-01-25
      • 2011-01-08
      相关资源
      最近更新 更多