【发布时间】:2015-01-11 06:11:33
【问题描述】:
我已经定义了我的表用户类型:
create or replace TYPE My_Type AS OBJECT
(
Field1 NVARCHAR2(20),
Field2 NVARCHAR2(20)
);
create or replace TYPE My_Type_Table
AS TABLE OF My_Type;
然后我定义了存储过程:
PROCEDURE sp_GetSomething
(
table_in My_Type_Table,
cur_our SYS_REFCURSOR
);
我能够从代码中成功调用此过程,但不能从 Sql Developer 中调用。 我不确定如何定义和传递表类型输入参数。 我正在尝试使用类似的东西,但它不起作用:
DECLARE
table_in My_Type_Table;
cur_our SYS_REFCURSOR;
BEGIN
table_in := My_Type_Table(My_Type('field 1 value', 'field 2 value'));
package.sp_GetSomething(
table_in => table_in ,
cur_our => cur_our
);
:cur_our := cur_our ;
END;
错误是:
> ORA-06550: line 11, column 20:
> PLS-00382: expression is of wrong type
请指教。
【问题讨论】:
标签: oracle stored-procedures plsql oracle11g oracle-sqldeveloper