2017-09-28 21 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 VARRAYは0ではなく、インデックス1で始まることにも注意してください。

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