T-SQL 每天根据日期备份数据

T-SQL daily backup of data based off a date

我有 2 个相同的 table,事件和 event_1。每天我都想将添加到事件 table 的新记录插入 event_1 table。

下面是 SQL 声明,说明我想做什么,但我不知道 SQL 的正确做法。感谢任何帮助,提前致谢。

select * 
into event_1 
from Event 
where Event.EventDate > max(event_1.eventdate) 

试试这个:

INSERT INTO event_1 --(column list)
SELECT * --(column list)
FROM Event
WHERE Event.EventDate > max(event_1.eventdate)

尽可能使用列列表而不是 *。如果您的表格完全相同,* 将起作用,但这是一种不好的做法。

如果它们在同一台服务器上的不同数据库中,您必须完全限定表,即 "DB_Name.schema.Event",如果在不同的服务器上,您需要具有权限的链接服务器并且必须使用 4 部分限定,即 [=18] =]

如果需要完全相同,可能只需截断并填充 table。

TRUNCATE TABLE event_1

INSERT INTO event_1
SELECT *
FROM event

或者像这样使用 not exists

INSERT INTO event_1 
SELECT *
FROM event e
WHERE NOT EXISTS (SELECT * FROM event_1 e1 WHERE e1.eventdate = e.eventdate)