>我在oracle数据库中有一个过程,看起来像
create or replace PACKAGE MY_PACKAGE AS
TYPE MY_RECORD IS RECORD
(
first_name abc.first_name%TYPE,
middle_name abc.middle_name%TYPE,
last_name abc.last_name%TYPE
);
TYPE MY_RECORD_REF IS REF CURSOR RETURN MY_RECORD;
PROCEDURE getDetails(
last_name IN OUT VARCHAR2,
V_MY_RECORD_REF OUT MY_RECORD_REF);
END MY_PACKAGE;
我想调用存储过程来获取数据并显示它们,但无法这样做。
有人可以帮忙吗?
提前谢谢。
该记录用于提供结果集的定义。使用打包类型定义调用过程时使用的局部变量。
declare
l_result_Set MY_PACKAGE.MY_RECORD_REF;
l_record MY_PACKAGE.MY_RECORD;
l_name abc.last_name%TYPE ;
begin
-- get the results
MY_PACKAGE.getDetails(
l_name
, l_result_Set );
-- now read them
loop
fetch l_result_Set into l_record;
exit when l_result_Set%notfound;
-- do stuff here
end loop;
end;
"你知道如何在Java中做同样的事情吗?">
引用游标是 JDBC 结果集。Andrej Koelewijn在这篇博文中有一个简短的例子。请注意使用 Oracle 库数据类型 OracleTypes.CURSOR
。ResultSet 的完整内容在 JDBC Deve 指南中介绍。了解更多。