CREATE TABLE TEMP
(
ID VARCHAR2(20 CHAR)
, TXT CLOB
)
create or replace FUNCTION get_field_keys (field CLOB)
RETURN type_array_of_varchar2
IS
return_value type_array_of_varchar2;
BEGIN
//do some split operations(already done)
//return_value[] = 'a';
//return_value[] = 'b';
//return_value[] = 'c';
//..
return return_value;
END;
この関数は値を返す必要があります。
select * from TEMP where 'a' = ANY(get_field_keys(TXT))
関数 get_field_keys の戻り値は varchar2 のセットでなければならないので、varray を試しましたが、この方法では "ANY" が機能しません。レコードか何かである必要があります。