【发布时间】:2021-12-30 09:40:05
【问题描述】:
我正在尝试返回一个类型作为输出参数,但出现错误: [错误] 编译(12:27):PLS-00382:表达式类型错误
代码如下:
create or replace TYPE OBJ_DCP FORCE as OBJECT (
ID NUMBER,
xxx_PROFILES_ID NUMBER,
DCP_NAME VARCHAR2(500 BYTE),
L_R_NUMBER VARCHAR2(150 BYTE),
STREET VARCHAR2(150 BYTE)
};
和
create or replace TYPE T_DCP_TYPE as TABLE OF OBJ_DCP;
和
create or replace procedure get_dcp_profiles(p_id in number, dcp_array_var OUT T_DCP_TYPE) is
cursor c_dcp_profiles is
select *
from table1 ca -- table1 has same structure of OBJ_DCP
where ca.id = p_id;
i number := 1;
begin
for r in c_dcp_profiles loop
dcp_array_var(i) := r; -- this line is errored
i := i + 1;
end loop;
end get_dcp_profiles;
【问题讨论】: