Oracle SQL Developer:如何初始化行类型参数

问题描述 投票:0回答:1

我对 Oracle 非常陌生。我正在尝试调试一个以行类型/表作为参数的过程。 (P_INVENTORY_BIN_NUMBERS) 如何初始化黄色突出显示的部分 Debugger Screenshot

这些是声明

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

我尝试使用光标,但出现类型错误。

oracle oracle11g oracle10g
1个回答
0
投票

像声明任何其他变量一样声明它,然后将值分配给索引并将其传递给过程:

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;
/

小提琴

© www.soinside.com 2019 - 2024. All rights reserved.