存储过程是这样的:
CREATE OR REPLACE TYPE "ERROR_MESSAGE" AS OBJECT
(
ERR_NUMBER NUMBER(10),
PAR_NAME VARCHAR2(100),
PAR_INDEX NUMBER(10),
PROPERTY VARCHAR2(1000),
ERR_TEXT VARCHAR2(2000),
ERR_LEVEL NUMBER(10)
);
/
CREATE OR REPLACE TYPE "ERROR_MESSAGE_LIST"
AS TABLE OF error_message;
/
create or replace package test_error is
PROCEDURE get_error_message
(p_username IN Varchar2
,p_error_list OUT error_message_list);
end ;
/
create or replace package body test_error is
Procedure get_error_message
(p_username IN Varchar2
,p_error_list OUT error_message_list)
Is
v_error_message error_message := error_message(NULL,NULL,NULL,NULL,NULL,NULL);
Begin
if p_error_list is null then
p_error_list := ERROR_MESSAGE_LIST();
end if;
v_error_message.err_number := '1111';
v_error_message.err_text := '2222';
v_error_message.err_level := 1;
p_error_list.extend;
p_error_list(p_error_list.COUNT) := v_error_message;
End;
end;
/
能不能拿到p_error_list ?
我用C#,不晓得OUT参数怎么写,哪位兄台指点一下,这个问题让小妹头痛好几天啦,叩谢!!!
一般要输出结果集都用游标,俺会。据说用ODP.NET可以得到上面这个存储过程的结果,只是据说。。。。。