sql-server – SQL导入更新现有记录?
发布时间:2021-01-01 01:18 所属栏目:116 来源:网络整理
导读:我在数据库中有一个表,其中包含每月更新的项目的成本.为了更新这些成本,我们有人导出表,在excel中做一些魔术,然后将表导回到数据库.我们正在运行MSSQL 2005并使用内置的SQL Management Studio. 问题是当导回到表中时,我们必须在导入之前删除所有记录,否则我们
我在数据库中有一个表,其中包含每月更新的项目的成本.为了更新这些成本,我们有人导出表,在excel中做一些魔术,然后将表导回到数据库.我们正在运行MSSQL 2005并使用内置的SQL Management Studio.
解决方法在SQL Server 2008中,您可以将数据放入新表中,并使用MERGE语句将现有表作为目标,并将新表作为源.相反,您可能更喜欢将其放入新表中并使用旧方法将其用作源(不幸的是,使用两个步骤): UPDATE t SET col1 = s.col1,col2 = s.col2 FROM targetTable t JOIN newTable s ON s.id = t.id ; INSERT targetTable (columnlist) SELECT s.col1,s.col2,... FROM sourceTable s LEFT JOIN targetTable t ON s.id = t.id WHERE t.id IS NULL; 请记住,如果您尝试插入标识列,则可能需要在目标表上打开IDENTITY_INSERT. (编辑:ASP站长网) |
相关内容
网友评论
推荐文章
热点阅读