我想检查一个值是否是数组的成员。 我尝试了以下How to check if an array contains a particular string?
中的示例代码DECLARE
TYPE v_array IS TABLE OF VARCHAR2(200);
ais_array v_array ;
BEGIN
ais_array := ('Lb1','Lb2','Lb3','Lb613');
IF 'Lb1' member of ais_array THEN
dbms_output.put_line('found');
END IF;
END;
/
但是我收到以下错误:
ORA-06550: line 5, column 16:
PLS-00382: expression is of wrong type
答案 0 :(得分:2)
您应该添加构造函数调用以进行初始化,请尝试下面的代码
declare
type v_array is table of varchar2(200);
ais_array v_array;
begin
ais_array := v_array('Lb1', 'Lb2', 'Lb3', 'Lb613');
if 'Lb1' member of ais_array then
dbms_output.put_line('found');
end if;
end;
我添加了ais_array := v_array('Lb1', 'Lb2', 'Lb3', 'Lb613');
。