【发布时间】:2021-02-11 20:19:40
【问题描述】:
我正在尝试将集合传递给过程,但是当我编译包时,我会收到以下消息:“PLS-00201 – 必须声明标识符”。 这是我的代码:
create or replace package PACK_DW_TEMP
as
procedure A (.......);
--
procedure B (error_list in out l_error);
end PACK_DW_TEMP;
在包体中,我在过程 A 中创建了集合并将其传递给过程 B
create or replace package body PACK_DW_TEMP
as
procedure A ( ........ )
as
begin
declare
type error IS RECORD(
cod_error NUMBER,
descr_error VARCHAR2(100)
);
type l_errori is table of error;
error_list l_error := l_error();
begin
procedure B(error_list);
end;
end;
进入程序B:
procedure B ( error_list in out l_error )
as
begin
declare
i NUMBER;
type err IS RECORD(
cod_error NUMBER,
descr_error VARCHAR2(100)
);
type l_err is table of err;
err_list l_err := l_err();
begin
i := 0;
for i in 1..5 loop
err_list(i).cod_err := error_list(i).cod_error;
err_list(i).descr_err := error_list(i).descr_error;
end loop;
end;
end;
我的目标是将集合传递给过程 B 并将值分配给新集合。
【问题讨论】: