【发布时间】:2018-09-08 03:10:11
【问题描述】:
我有程序在 SQL Server 中运行。我想每天运行那个程序。哪个会每天生成输出表?
但是,我只想每月保留一次历史记录。我尝试了以下程序,但它每天都会保留历史记录。
我该如何修改它;该表应该每天创建,但我只能每月保存一次历史记录,例如每个月的最后一天?
DECLARE @today AS DATE = CAST(GETDATE() AS DATE)
IF OBJECT_ID('[CI_Temp].[dbo].[Items_Scored_With_History]', 'U') IS NULL
CREATE TABLE [CI_Temp].[dbo].[Items_Scored_With_History]
(
id INT NOT NULL,
sub VARCHAR(255) NOT NULL,
actual VARCHAR(255) NOT NULL,
preds VARCHAR(255) NOT NULL,
prob VARCHAR(255) NOT NULL,
pred_eval VARCHAR(255) NOT NULL,
score_date DATETIME NOT NULL,
)
ELSE
DELETE FROM [CI_Temp].[dbo].[Items_Scored_With_History]
WHERE score_date = @today;
INSERT INTO [CI_Temp].[dbo].[Items_Scored_With_History]
SELECT id,
sub,
actual,
preds,
prob,
pred_eval,
@today AS score_date,
FROM [CI_Temp].[dbo].[Items_Scored_With_History] WITH (NOLOCK)
任何帮助将不胜感激 - 提前致谢!
【问题讨论】:
标签: sql sql-server stored-procedures history