0

我遇到了一个小问题。我正在插入/更新超过 2k 的记录,并且在 2k 内,可能有一些我已经拥有的记录。一旦我已经有了,我可能需要更新原始记录等。

该解决方案使用 SQL Compact,它可以在速度较慢的计算机上运行。我确实有一个方法,但它花了10多分钟。(太长了)。

所以现在我对临时表进行批量插入,然后我可以从临时表插入原始表。

我的更新脚本似乎有问题。下面的脚本适用于 SQL Server,但是当我尝试相同的脚本(使用相同的数据库架构等)时,它不起作用。

任何人都可以帮忙吗?

UPDATE Clients 
SET     Title = Temp_Clients.Title
       ,Forename = Temp_Clients.Forename
       ,Surname = Temp_Clients.Surname
       ,DOB = Temp_Clients.DOB
       ,IsMale = Temp_Clients.IsMale
       ,Address1 = Temp_Clients.Address1
       ,Address2 =Temp_Clients.Address2
       ,Address3 = Temp_Clients.Address3
       ,Town = Temp_Clients.Town
       ,County = Temp_Clients.County
       ,Postcode = Temp_Clients.Postcode
       ,Telephone = Temp_Clients.Telephone
       ,Mobile = Temp_Clients.Mobile
       ,Email =Temp_Clients.Email
     ,LocationID = Temp_Clients.LocationID
    ,GpPractice = Temp_Clients.GpPractice
     ,GpName = Temp_Clients.GpName
FROM Temp_Clients 
INNER JOIN Clients AS A ON A.[CustomClientID] = Temp_Clients.[CustomClientID]
4

1 回答 1

0

我认为你的 from 是错误的方法:它应该是客户端,然后加入 temp_clients。

UPDATE Clients 
SET     Title = Temp_Clients.Title
       ,Forename = Temp_Clients.Forename
       ,Surname = Temp_Clients.Surname
       ,DOB = Temp_Clients.DOB
       ,IsMale = Temp_Clients.IsMale
       ,Address1 = Temp_Clients.Address1
       ,Address2 =Temp_Clients.Address2
       ,Address3 = Temp_Clients.Address3
       ,Town = Temp_Clients.Town
       ,County = Temp_Clients.County
       ,Postcode = Temp_Clients.Postcode
       ,Telephone = Temp_Clients.Telephone
       ,Mobile = Temp_Clients.Mobile
       ,Email =Temp_Clients.Email
     ,LocationID = Temp_Clients.LocationID
    ,GpPractice = Temp_Clients.GpPractice
     ,GpName = Temp_Clients.GpName
FROM Clients INNER JOIN Temp_Clients ON Clients.[CustomClientID] = Temp_Clients.[CustomClientID]
于 2014-02-05T14:28:46.670 回答