基于日期的T-SQL每日数据备份

时间:2018-05-08 20:55:11

标签: sql-server tsql archive

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

下面是我想要做的SQL语句,但我不知道正确的SQL。感谢任何帮助,提前谢谢。

{{1}}

2 个答案:

答案 0 :(得分:1)

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

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)

答案 1 :(得分:0)

试试这个:

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

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

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