【发布时间】:2019-04-11 06:03:44
【问题描述】:
我有一个通过 ODAC 从 VB.NET 调用的 plsql 过程。 程序做了一个简单的选择:
cursor C_emp is select name, surname from employees;
程序必须有一个 OUT 参数作为 REF CURSOR。
我知道我可以做一个简单的:
declare
L_cursor sys_refcursor;
begin
open L_cursor for select name, surname from employees;
...
end;
但我需要根据 select 语句中的一些逻辑向 OUT REF CURSOR 添加几列。
我想过做一个循环,一次将一条记录处理成一个数组类型的表,然后将其转换为 REF CURSOR。
我该怎么做?任何建议都非常感谢,非常感谢提前。
【问题讨论】:
-
如果你想在游标上加几列,只要把它加到你
select语句中,照常返回即可。 -
是的,我想过,但逻辑有点混乱和冗长。
-
您不能只向光标添加一列。您可以创建一个循环遍历第一个游标的新游标,或者使用一个游标并在其中提供您需要的所有数据。您可能应该解释一下“一些逻辑”是什么。
-
是的,我想在循环通过我的第一个选择光标时创建一个新的 REF CURSOR。我该怎么做?