如何在SQL中新的第一天执行存储过程

时间:2016-03-08 14:56:45

标签: sql sql-server database stored-procedures

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

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

2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:0)

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

如果由于任何原因(例如Express Edition)无法使用SQL Agent,请编写.BAT脚本以使用SQLCMD执行sproc,并使用任务计划程序对其进行计划。