Oracle - 类型表 - IF 语句中存在收集方法 - ORA-06502:PL/SQL:erro:字符到数字转换错



我需要在包中创建一个集合,但我不知道错误在哪里......

这是我的声明和初始化:

avversao varchar2(30);
TYPE tListaVersaoHomologada IS TABLE OF NVARCHAR2(30);
vVersaoHomologada tListaVersaoHomologada := tListaVersaoHomologada('0.06', '0.07');

这就是引发异常的地方

if NOT(vVersaoHomologada.EXISTS(avversao)) then
...
end if;

变量

avversao

具有以下值之一:

  • 0,06
  • 0,07

参考:

使用 PL/SQL 集合和记录

收集方法

member of- 检查集合中是否存在值。
EXISTS- 用于检查集合在索引中是否有值。

declare 
avversao varchar2(30) := '0.06';
TYPE tListaVersaoHomologada IS TABLE OF VARCHAR2(30);
vVersaoHomologada tListaVersaoHomologada := tListaVersaoHomologada('0.06', '0.07');
begin
if avversao member of vVersaoHomologada then 
dbms_output.put_line('!!!!Exist!!!!!');
end if; 
end;

最新更新