oracle过程中游标作为输入参数 求解。。。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle过程中游标作为输入参数 求解。。。相关的知识,希望对你有一定的参考价值。

在一个存储过程中定义的游标,可以作为另一个存储过程的输入参数调用它吗?怎么定义呢?
如:
create or OR REPLACE PROCEDURE test1
is
cursor c_cursor is
select ... from ...;
begin
test2(c_cursor); --带入定义的游标
end test1;

create or OR REPLACE PROCEDURE test2(
c_cur --定义游标
is
begin
--使用定义的游标c_cur
end test2
我这边 这边写 编译出错 !

你自己测试一下不就知道能不能这样用了嘛?

你是自己粗心的错误 多了一个 OR
create or REPLACE PROCEDURE test2(Curson cur)
is
begin
--使用定义的游标c_cur
end test2;

create or REPLACE PROCEDURE test1
is
cursor c_cursor is
select ... from ...;
begin
test2(c_cursor); --带入定义的游标
end test1;追问

不行哦

追答

select ... from ... 要改

参考技术A 我也想知道怎么定义,这个问题后来是怎么解决的? 能分享一下吗? 参考技术B 关注中。

如何将结果集作为输入从java传递到oracle存储过程

【中文标题】如何将结果集作为输入从java传递到oracle存储过程【英文标题】:How to pass result set as input from java to oracle store procedure 【发布时间】:2012-05-02 07:13:05 【问题描述】:

我的 java 程序在一台数据库服务器上调用了一个 oracle 存储过程。获取结果集并希望将该结果集传递给我在另一台数据库服务器上的存储过程。

如何将结果集作为输入参数传递给接受引用游标的 Oracle 存储过程?

【问题讨论】:

【参考方案1】:

你不能。通过使用数据库链接从第二台服务器访问第一台服务器,或者您需要在中间 Java 代码级别(连接到两台服务器)中处理它

希望对你有帮助

【讨论】:

【参考方案2】:

Callable 语句没有任何方法可以将结果集设置为参数。另一种方法是调用希望结果集作为参数的过程,在 pl/sql 本身中调用它。也许您也可以使用表格类型来解决您的问题。

【讨论】:

以上是关于oracle过程中游标作为输入参数 求解。。。的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 存储过程 - 创建游标后我可以清空临时表吗

oracle数据库的游标和存储过程怎么写?

Oracle存储过程,游标使用

Oracle PL SQL:比较两个存储过程返回的引用游标结果

oracle-游标-存储过程-函数-包

如何将结果集作为输入从java传递到oracle存储过程