Oracle sql:表达式类型错误

时间:2013-09-24 09:39:43

标签: plsql oracle10g

我正在尝试编写一个PL / SQL来将逗号分隔的字符串转换为数组并迭代它。

为此我创建了一个数据类型如下:

"CODE_TABLE_TYPE" AS TABLE OF VARCHAR2(500) 

创建一个函数 - STR_TO_CODE_TABLE,将逗号分隔的字符串转换为CODE_TABLE_TYPE表。

并且PL / SQL看起来像这样:

FOR DEP IN ( SELECT * FROM TABLE ( CAST( STR_TO_CODE_TABLE( IN_DES_AIRPORTS ) AS CODE_TABLE_TYPE ) ) ) LOOP

   SELECT * INTO RESULTS FROM MY_TABLE
   WHERE IN_ID = MY_TABLE.ID
   AND ( SELECT 1 FROM TEMP_TABLE WHERE DEPARTURE LIKE '%' || DEP || '%' )= 1;

END LOOP;

但它给出了一个错误,说“表达式是错误的类型”。但是数据类型是varchar2。

任何人都可以建议可能的原因是什么。我该怎么做才能避免这个问题?

0 个答案:

没有答案