在oracle中建一存储过程,如下
procedure P_TEST(
v_hm in varchar2
,n_result out number
)
as
begin
n_result:=0;end P_TEST;我如何通过sqlserver2000中创建的链接服务器OracleDB,来取得n_result的返回值?
虽然通过select * from OpenQuery(OracleDB,'查询语句')可以获取表记录或者执行没有返回值参数的存储过程,但现在我需要从这个存储过程获取这个返回值,该如何处理?
procedure P_TEST(
v_hm in varchar2
,n_result out number
)
as
begin
n_result:=0;end P_TEST;我如何通过sqlserver2000中创建的链接服务器OracleDB,来取得n_result的返回值?
虽然通过select * from OpenQuery(OracleDB,'查询语句')可以获取表记录或者执行没有返回值参数的存储过程,但现在我需要从这个存储过程获取这个返回值,该如何处理?
解决方案 »
- 报表小问题。在线等,解决即结.
- mysql连接基础问题
- 用“生成表查询”把远程服务器上SQL SERVER里的一个表,生成到本地MDB数据库里,这个谁会?
- 求助:这想法怎么实现
- Rank()与DENSE_RANK()的区别?
- sql2000 sql2005
- SET LOCK_TIMEOUT的时间 是不是只针对产生死锁后要返回错误代码的时间,与共享锁,更新锁,排它锁无关??
- 对面的高手看过来???
- SQL SERVER2000 数据库应用系统如何发布?
- 在SQLServer中怎样实现象Access中的First()和Last()的功能?(急,在线等候!)
- 求教一个语句
- 删除的一点问题!delete
-- 如果是 SQL Server 2000,只能将存储过程改写为函数,再用 openquery 调用。
create function P_TEST (v_hm varchar2)
return number
is
n_result number;
begin
n_result:=0; return n_result;
end;
/
-- 调用
select * from openquery(OracleDB, 'select P_TEST(...) from dual;');-- 如果是 SQL Server 2005,可以
declare @hm varchar(...), @res numeric;
set @hm='...';
execute('begin P_TEST(?, ?); end;', @hm, @res output) at OracleDB;
去临时表中select就可以了
消息 7215,级别 17,状态 1,第 4 行
无法在远程服务器 'OracleDB' 上执行语句。