我的更新不会停止执行,也不会在使用同义词更新远程表时失败。
例如我有:
USE [CRM_Staging]
GO
/****** Object: Synonym [dbo].[CRM_OpportunityBase] Script Date: 05/27/2014 16:22:32 ******/
CREATE SYNONYM [dbo].[CRM_OpportunityBase] FOR [CRMPRODDB].[Training_MSCRM].[dbo].[OpportunityBase]
GO
我在这方面使用它:
update o
set o.createdon=s.createdon
,o.modifiedon=s.modifiedon
,o.createdby = (case when s.createdby is not null then s.createdby else o.createdby end)
,o.modifiedby = (case when s.modifiedby is not null then s.modifiedby else o.modifiedby end)
from crm_opportunitybase o
join Opportunity s
on o.opportunityid=s.OpportunityId
但是,查询不会停止执行。它只是没有做任何事情。
如果你进入链接服务器并运行它,那么它运行没有问题。
是否可以使用同义词更新远程表?