【发布时间】:2020-12-22 10:07:01
【问题描述】:
我有一个返回自定义对象表的函数。我希望从返回的结果中按名称选择某一列。
create or replace type sd_Serial_Number as object (
serial_number VARCHAR2(32)
);
对象表
create or replace type sd_Serial_Number_Table as table of sd_Serial_Number;
功能
create function get_result
return sd_Serial_Number_Table as
v_ret sd_Serial_Number_Table;
begin
select sd_Serial_Number(selected.SERIAL_NUMBER)
bulk collect into v_ret
from (
selection here
) selected;
return v_ret;
end get_result;
当我以这种方式调用函数时,我会得到一个名为 SERIAL_NUMBER 的单列的结果
select * from table(get_result());
但是,我不能这样做
select SERIAL_NUMBER from table(get_result());
有没有办法选择 SERIAL_NUMBER 列?
【问题讨论】:
标签: sql oracle oracle11g sql-function