Plsql Oracle sql:表达式的类型错误
我正试图编写一个PL/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_
"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_名称请将其作为解决方案编写,并附带一个代码示例