17,086
社区成员
发帖
与我相关
我的任务
分享
type rec_item is record(
r_name varchar2(200),
r_value varchar2(20000),
r_type varchar2(20),
r_format varchar2(50),
r_default varchar2(20000)
);
type rec_items is table of rec_item index by binary_integer;
procedure pro_po_action(p_items rec_items, vcreback out varchar2);
procedure pro_po_action(p_items rec_items, vcreback out varchar2) is
v_item rec_item ;
v_seq number default 1;
begin
vcreback := '';
if p_items.count = 0 then
vcreback := '传入信息项为空!';
return;
end if;
for v_seq in 1..p_items.count loop
v_item := p_items(v_seq);
insert into t_po_item (ilineid, vcname, vcvalue, vctype, vcformat, vcdefaultvalue, dtdate)
values (seq_po_ilineid.nextval, v_item.r_name, v_item.r_value, v_item.r_type, v_item.r_format, v_item.r_default, sysdate);
end loop;
vcreback := '成功执行数据记录添加!';
end pro_po_action;
//参考:
//在程序中定义一个数组类型的rec_items
//并为其赋初值,数组元素的个数与数据库中你定义的记录类型相同
//再调用过程的地方传递参数时,
//pro_po_action(p_items rec_items, vcreback out varchar2)
//对应rec_items记录类型的地方传递我们定义的数组.