我有一个文本文件,每天都会使用新数据进行更新。但是,当我将该文本导入到SQL Server中时,它仅添加了相同的数据,因此现在表中的数据增加了一倍。如何仅导入新数据?
我尝试了此代码,但它只是删除并再次输入。
SELECT DISTINCT *
INTO tempdb.dbo.tmpTable
FROM ems
DELETE FROM ems
INSERT INTO ems
SELECT *
FROM tempdb.dbo.tmpTable
DROP TABLE tempdb.dbo.tmpTable
GO
答案 0 :(得分:0)
以下内容可能会有所帮助:
SELECT All_columns, row_number() over (partition by all_columns_except_first_two order by col_1 desc, col_2 desc) as rownum
INTO tempdb.dbo.tmpTable
FROM ems
group by other_columns
DELETE FROM ems
INSERT INTO ems
SELECT *
FROM tempdb.dbo.tmpTable
where rownum = 1
DROP TABLE tempdb.dbo.tmpTable
GO
它将在文件中保留一个条目的最新记录(如果时间字段在前两列中)。