从Excel数据更新SQL Server表

时间:2015-12-15 16:32:43

标签: sql sql-server excel

目前我正在尝试将Excel 2007工作簿中的数据导入SQL Server 2008 R2表'test'。

导入工作完美,但是,工作簿上的数据不断变化,需要每隔十分钟左右导入一次。

当我重新运行导入时,SQL Server只复制所有数据并最终得到相同的重复项 - 如何以仅添加新的yield User.find({ email: this.request.body.email }).exec() .then( user => { if ( user.verifyPassword(self.request.body.password) ) { self.status = 200 self.body = { token: user.token } } else { self.status = 500 self.body = "Problem signing in." } }, error => { self.status = 500 self.body = "Problem signing in." }) 个已更改列的方式进行导入旧数据?

我试图导入到另一个表并仅复制新数据(不是我需要的,也不是我的工作)。

此外,以下似乎很有希望,但不确定它会做我需要的......

UPDATE

对此有任何帮助将不胜感激 - 如果有任何遗漏,请告诉我。

由于

1 个答案:

答案 0 :(得分:0)

MERGE INTO dbo.test AS C
USING (SELECT TOP 1 [A], [B], [C], [D], [E], [F], [G], [H], [I] FROM dbo.test_import) AS CT 

ON C.[A] = CT.[A]

WHEN MATCHED THEN
  UPDATE 
     SET
       C.[B] = CT.[B],
       C.[C] = CT.[C],
       C.[D] = CT.[D],
       C.[E] = CT.[E],
       C.[F] = CT.[F],
       C.[G] = CT.[G],
       C.[H] = CT.[H],
       C.[I] = CT.[I]     

WHEN NOT MATCHED THEN 
    INSERT ([A], [B], [C], [D], [E], [F], [G], [H], [I])
    VALUES (CT.[A], CT.[B], CT.[C], CT.[D], CT.[E], CT.[F], CT.[G], CT.[H], CT.[I]);