Ami*_*ine 5 oracle plsql cursors select
我想从返回 SYS_REFCURSOR 类型值的函数中进行选择。
例如 :
CREATE OR REPLACE FUNCTION my_funtion (
my_param IN VARCHAR2)
RETURN SYS_REFCURSOR
IS
l_return SYS_REFCURSOR;
BEGIN
OPEN l_return FOR
SELECT last_name, first_name
FROM employees
WHERE id = my_param
ORDER BY employee_id;
RETURN l_return;
END my_funtion;
Run Code Online (Sandbox Code Playgroud)
我想做类似的事情:
select * from my_function('id015');
Run Code Online (Sandbox Code Playgroud)
甚至 :
select alias.last_name from my_function('id015') alias;
Run Code Online (Sandbox Code Playgroud)
小智 5
你可以尝试使用
select * from table(xmlsequence( myfunc() ))
. 在这种情况下,您将在列中获得 xml。
或者尝试此示例从您的引用游标中提取字段
Run Code Online (Sandbox Code Playgroud)select extractvalue(column_value,'/ROW/FIRST_NAME') first_name , extractvalue(column_value,'/ROW/LAST_NAME') last_name from table(xmlsequence(f()));
FIRST_NAME | 姓 :--------- | :-------- 唐纳德 | 鸭子 米奇 | 老鼠
dbfiddle在这里
附言。请注意 xml 开销。
归档时间: |
|
查看次数: |
26778 次 |
最近记录: |