Plsql Oracle sql:表达式的类型错误

Plsql Oracle sql:表达式的类型错误,plsql,oracle10g,Plsql,Oracle10g,我正试图编写一个PL/SQL来将逗号分隔的字符串转换成数组,并对其进行迭代 为此,我创建了一个数据类型,如下所示: "CODE_TABLE_TYPE" AS TABLE OF VARCHAR2(500) 将函数-STR\u转换为\u code\u TABLE以将逗号分隔的字符串转换为代码表类型的表 PL/SQL如下所示: FOR DEP IN ( SELECT * FROM TABLE ( CAST( STR_TO_CODE_TABLE( IN_DES_AIRPORTS ) AS CODE_

我正试图编写一个PL/SQL来将逗号分隔的字符串转换成数组,并对其进行迭代

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

"CODE_TABLE_TYPE" AS TABLE OF VARCHAR2(500) 
将函数-
STR\u转换为\u code\u TABLE
以将逗号分隔的字符串转换为代码表类型的表

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


谁能告诉我可能的原因是什么。我应该如何避免此问题?

DEP
不是
varchar2
类型的记录,它是一个只有一列的记录。您需要改用
dep.column\u value
。非常感谢。我真的错过了那部分。再次感谢您提供的解决方案……还请阅读oracle中的批量操作。带有insert语句的循环太古老了。@a_horse_和_no_名称请将其作为解决方案编写,并附带一个代码示例