利用远程数据库存储过程的OUTPUT参数来获得返回值

本文介绍如何在 SQL Server 中通过调用远程数据库的存储过程来获取返回值,利用这一特性可以在本地数据库中操作远程数据库的数据,实现一些必须在远程数据库处理的运算或数据操作。

SQL SERVER中,是不能直接调用远程数据库的函数的,有时候觉得不方便。


但调用远程数据库的存储过程就没有问题,并且存储过程有OUTPUT类型的参数,某些情况下,可以这样子来变通使用,获得返回数据。


远程数据库:[192.168.0.1].dbo.[RemoteDb]:
CREATE PROCEDURE prd1
@In INT,
@out INT OUTPUT
AS
BEGIN
SET @In = 0;
SET @out = @out * -1;
END
GO


本地数据库:[localDb]:
declare @In int
declare @out int
SET @in = 1;
SET @out = 1;
EXEC [192.168.0.1].dbo.[RemoteDb].prd1 @in,@out OUTPUT;
SELECT @in;
SELECT @out;

--结果显示:
1
-1

这说明返回值真的起作用。如果有一些运算或数据必须要放在远程数据库处理,值得考虑。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值