存储过程调用不同数据库的数据

本文介绍了在SQL Server中如何在存储过程中调用不同数据库的数据,包括在同一台服务器和不同服务器上的做法,如使用OPENDATASOURCE和OPENROWSET。还详细讲解了创建和配置链接服务器的步骤,以实现跨物理服务器和数据库的数据操作,包括解决RPC配置问题的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

存储过程调用不同数据库的数据

在存储过程调用不同数据库的数据该如何做,比如在存储过程名为AAA的存储过程里面调用数据库为hudu1,hudu2,hudu3里面的数据来统计?
在同一台数据库服务器上:  
select   *   from   hudu1.dbo.表名  
select   *   from   hudu2.dbo.表名  
select   *   from   hudu3.dbo.表名  
   
在不同数据库服务器上:  
select   *   from   openrowset('SQLOLEDB','sql服务器1';'用户名';'密码',hudu1.dbo.表名)  
select   *   from   openrowset('SQLOLEDB','sql服务器2';'用户名';'密码',hudu2.dbo.表名)  
select   *   from   openrowset('SQLOLEDB','sql服务器3';'用户名';'密码',hudu3.dbo.表名)

下面的方法可以参考:
方法一:用OPENDATASOURCE   方法去操作异地数据库  
   
declare   @i   int  
set   @i=1  
select   *   from   OPENDATASOURCE('SQLOLEDB','Data   Source=IP地址;User   ID=sa;Password=密码').异地数据库名.dbo.表名   A   inner   join   本地数据库名..表名   B  
on   A.关联字段=B.关联字段   and   A.字段名称=@i  
   
   
 &nb

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值