如何在链接服务器上使用合并 [英] How to use merge on linked servers

查看:175
本文介绍了如何在链接服务器上使用合并的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

是否可以在链接服务器上使用merge语句?如果可以,怎么办?

Is it possible to use the merge statement on linked servers? If so how?

我尝试了以下操作,但会生成错误消息

I have tried the following but it generates an error message

MERGE语句的目标不能是远程表,远程 视图或远程表视图.

The target of a MERGE statement cannot be a remote table, a remote view, or a view over remote tables.

EXEC sp_addlinkedserver
@server=N'devServer',
@srvproduct=N'',
@provider=N'SQLNCLI',
@datasrc=N'192.168.2.58\SQLSERVER';

EXEC sp_addlinkedserver
@server=N'localServer',
@srvproduct=N'',
@provider=N'SQLNCLI',
@datasrc=N'localhost\SQLSERVER';

Merge devServer.<dbName>.dbo.<tableName> as Target
USING localServer.<dbName>.dbo.<tableName> as Source
On (Source.HubID = Target.HubID)
When Matched then
    update set
        NAME = Source.NAME,
        CODE = Source.CODE,
        IPAddress = Source.IPAddress
When Not Matched Then
    Insert(, , ,)
    Values (, , ,);

    select * from sys.Servers

推荐答案

Microsoft SQL Server 2008不支持此功能.从

This is not supported in Microsoft SQL Server 2008. From the msdn documentation,

target_table 不能是远程表.

您可以在此处.

这篇关于如何在链接服务器上使用合并的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆