Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 基于日期的T-SQL每日数据备份_Sql Server_Tsql_Archive - Fatal编程技术网

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

Sql server 基于日期的T-SQL每日数据备份,sql-server,tsql,archive,Sql Server,Tsql,Archive,我有两个相同的表,event和event_1。每天我都想将添加到事件表中的新记录插入到事件表中 下面是一个SQL语句,说明了我想做什么,但我不知道该用什么样的SQL来做。感谢您的帮助,提前谢谢 select * into event_1 from Event where Event.EventDate > max(event_1.eventdate) 试试这个: INSERT INTO event_1 --(column list) SELECT * --(column list

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

下面是一个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部分限定表,即“server.DB_Name.schema.Event”

,如果需要完全相同,可以截断并填充表

TRUNCATE TABLE event_1

INSERT INTO event_1
SELECT *
FROM event
或者像这样使用
的东西不存在

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

执行此操作时,我遇到以下错误。无法绑定多部分标识符“event_1.eventdate”。请尝试对两个表使用别名。另外,仔细检查表名和列名,我直接从原始问题中提取了这个短语。