...至少我认为这是问题所在。
我正在编写一个函数,其中包含一个游标声明,该声明访问一个表,其中一列是保留字 NUMBER(是的,我知道..)。该函数在编译时遇到问题:
错误(16,10):PL/SQL:ORA-06552:PL/SQL:编译单元分析终止 ORA-06553:PLS-488:无效变量声明:对象“NUMBER”必须是类型或子类型
我的代码看起来像:
CURSOR my_cur
IS
SELECT "NUMBER", col2, col3
FROM tb1_x;
为了确保这是问题所在,我将代码更改为
CURSOR my_cur
IS
SELECT 'NUMBER', 'col2', 'col3'
FROM dual;
它编译得很好,但显然这不是我想要的。
不幸的是,我没有选择更改列名(叹气),并记录在案
SELECT "NUMBER", col2, col3
FROM tb1_x;
在正常的 SQL 执行中工作正常。
无论如何我可以解决这个问题吗?任何帮助深表感谢!