2017-09-28 51 views
-2

爲什麼我不能在where子句中使用這個句子。當給一個像數組的輸入?數組where條款ORACLE

AND .. IN_ARRAY_CENTRAL(0) = '0' AND ... 

它給了我:

[錯誤] ORA-00936(117:39):PL/SQL:ORA-00936:缺少表達

+0

什麼是'IN_ARRAY_CENTRAL'?它是一個函數,過程,集合(表類型數組),關聯數組,VARRAY,別的東西?請修改您的問題以提供[MCVE],其中包含所有必要的詳細信息以複製您的問題並說明您正在嘗試實現的內容。 – MT0

回答

0

請仔細閱讀the documentation on PL/SQL Collections,並添加更多細節你的問題。也許發佈更多的代碼。下面是一個如何在WHERE子句中使用varray的示例。還要注意,PL/SQL變量以索引1開始,而不是0.

declare 
    type vc_array is VARRAY(5) of VARCHAR2(10); 
    my_array vc_array; 
    output_var VARCHAR2(10); 
begin 
    my_array := vc_array('0','1','2','3','4'); 
    select 'OK' into output_var from dual where my_array(1) = '0'; 
    dbms_output.put_line(output_var); 
end; 
/
+0

這是作爲答案發布的,但問題如此不清楚,可能無法回答。它應該是一個評論而不是答案。 – MT0

+0

夠公平的,我會牢記這一點。 – kfinity