Oracle没有数组类型,如果要传递数组类型的参数,必须得自己定义,在oracle中定义数据类型type,代码如下:
CREATE OR REPLACE TYPE ARRAY_BARCODEID is <span style="color:#FF0000;">table </span>of varchar2(50);
不考虑数组长度的做法就是用table,如果不用table,那用 VARRAY吧
建完type后,我们再来创建一个package(因为我有输出参数,所以必须要先建立一个包),代码:
CREATE OR REPLACE PACKAGE delivery AS
procedure addRecords_delivery(
v_orderId IN varchar2,--订单号
v_barcodeIds in array_barcodeId,--条形码集合
v_deliveryListNo IN varchar2,--发货单号
v_boxId IN varchar2,--箱号
v_boxName IN varchar2,--箱名
v_s_num out int,--新增成功的记录数
v_returnMsg out varchar2--返回不符合插入条件的条形码字符串集,条形码之前以逗号分割
);
END;
package body代码:
create or replace package body delivery is
procedure addRecords_delivery(