我对 Oracle 非常陌生。我正在尝试调试一个以行类型/表作为参数的过程。 (P_INVENTORY_BIN_NUMBERS) 如何初始化黄色突出显示的部分
这些是声明
create or replace PACKAGE PG_MV_INVENTORY_IUD AS
TYPE inventory_array IS TABLE of NUMBER(18) INDEX BY BINARY_INTEGER
PROCEDURE ISSUE_INVENTORY (P_INVENTORY_BIN_NUMBERS IN inventory_array,
P_INVENTORY_CODE IN VARCHAR2,
P_COUNTY_CODE IN NUMBER,
P_AGENCY_CODE IN NUMBER,
P_PLATE_NUMBER IN VARCHAR2,
P_AGENT_CUSTOMER_NUMBER IN VARCHAR2,
P_DECAL_YEAR IN VARCHAR2,
P_USED_DATE IN DATE,
P_INVENTORY_CONFIG OUT VARCHAR2);
END PG_MV_INVENTORY_IUD;
create or replace PACKAGE BODY PG_MV_INVENTORY_IUD AS
--------------------------------------------------------------------------------------------------
PROCEDURE ISSUE_INVENTORY_BIN_NUM (P_INVENTORY_BIN_NUMBERS IN inventory_array,
P_INVENTORY_CODE IN VARCHAR2,
P_COUNTY_CODE IN NUMBER,
P_AGENCY_CODE IN NUMBER,
P_PLATE_NUMBER IN VARCHAR2,
P_DECAL_YEAR IN VARCHAR2,
P_USED_DATE IN DATE,
P_INVENTORY_CONFIG OUT VARCHAR2)
AS
Inv Inventory%rowtype;
BEGIN
我尝试使用光标,但出现类型错误。
像声明任何其他变量一样声明它,然后将值分配给索引并将其传递给过程:
DECLARE
v_inventory_bin_numbers PG_MV_INVENTORY_IUD.inventory_array;
v_inventory_config VARCHAR2(20);
BEGIN
v_inventory_bin_numbers(42) := 17;
v_inventory_bin_numbers(63) := 3;
v_inventory_bin_numbers(74) := 19;
PG_MV_INVENTORY_IUD.ISSUE_INVENTORY (
P_INVENTORY_BIN_NUMBERS => v_inventory_bin_numbers,
P_INVENTORY_CODE => NULL,
P_COUNTY_CODE => NULL,
P_AGENCY_CODE => NULL,
P_PLATE_NUMBER => NULL,
P_AGENT_CUSTOMER_NUMBER => NULL,
P_DECAL_YEAR => NULL,
P_USED_DATE => NULL,
P_INVENTORY_CONFIG => v_inventory_config
);
END;
/