2015-10-06 77 views
0

我想檢查一個值是否是數組的成員。 我嘗試下面的示例代碼從How to check if an array contains a particular string?表達式是錯誤的類型--Oracle錯誤

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 

回答

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');