0
我想從我的本地數據庫遠程數據庫插入和更新記錄合併合併,但我發現SQL服務器從地方到鏈接的服務器錯誤
無效的對象名稱[localdatabase] .dbo.MASTER_CORPORATECOMPANY ***錯誤。
我已經分享了下面的代碼。任何人都可以告訴我怎樣才能達到同樣的效果?
EXEC('MERGE INTO [linkserver].[remotedatabase].dbo.MASTER_CORPORATECOMPANY AS D
USING [localdatabase].dbo.MASTER_CORPORATECOMPANY AS S
ON D.IDENTIFICATIONNUMBER = S.IDENTIFICATIONNUMBER
WHEN MATCHED THEN
UPDATE SET
D.DATEOFINCORPORATION = S.DATEOFINCORPORATION,
D.COMPANYNAME = S.COMPANYNAME,
D.COMPANYSTATUS = S.COMPANYSTATUS,
D.REGISTEREDSTATE = S.REGISTEREDSTATE,
D.REGISTEREDOFFICE = S.REGISTEREDOFFICE,
D.CREATEDDATE = S.CREATEDDATE
WHEN NOT MATCHED THEN
INSERT (DATEOFINCORPORATION, COMPANYNAME, COMPANYSTATUS,REGISTEREDSTATE,REGISTEREDOFFICE,CREATEDDATE)
VALUES (S.DATEOFINCORPORATION, S.COMPANYNAME,S.COMPANYSTATUS,S.REGISTEREDSTATE,S.REGISTEREDOFFICE, S.CREATEDDATE);') AT [linkserver]
請勿使用合併。改用UPDATE/INSERT語句。你應該避免使用合併。合併報表很難調試+它有很多未解決的錯誤。對於單獨的UPDATE/INSERT語句,它通常也沒有任何性能優勢 –