【发布时间】:2011-12-19 21:03:29
【问题描述】:
我有一个 column_id 类型为 varchar2 的表。此表可能包含 1、0 或多行。我的业务逻辑取决于每种情况。
我正在尝试将该列提取到一个数组中,但我遇到了奇怪的错误(鉴于我对 pl/sql 的了解有限)
TYPE t_col_id IS TABLE OF TEST_TABLE.COLUMN_ID%TYPE INDEX BY BINARY_INTEGER;
AR_COL_ID T_COL_ID;
然后我试图将数据提取到这个数组中
SELECT COLUMN_ID INTO AR_SIM_ID FROM TEST_TABLE WHERE COLUMN_ID = 1;
我收到了这个错误
Error(7,3): PL/SQL: SQL Statement ignored
Error(7,25): PLS-00597: expression 'AR_SIM_ID' in the INTO list is of wrong type
Error(7,35): PL/SQL: ORA-00904: : invalid identifier
有什么我想念的吗?我的原始代码将使用这个数组作为
BEGIN
-- FETCH ARRAY QUERY
IF (AR_SIM_ID.LENGTH = 0) THEN
-- BUSINESS LOGIC 1
ELSE
-- BUSINESS LOGIC 2
EXCEPTION
WHEN NO_DATA_FOUND THEN
-- BUSINESS LOGIC 3
END;
【问题讨论】: