ORA-22912: specified column or attribute is not a nested table type ORACLE 报错 故障修复 远程处理
文档解释
ORA-22912: specified column or attribute is not a nested table type
Cause: The storage clause is specified for a column or attribute that is not a nested table column or attribute.
Action: Specify a valid nested table column or attribute.
ORA-22912: 指定的列或属性不是嵌入式表类型
官方解释
该错误的官方解释是:
“ORA-22912: 指定的列或属性不是一个嵌入式表类型”
常见案例
ORA-22912错误最常见的情况是,你使用emp和DEPT表,要从EMP表中获取DEPT表中分配给雇员的信息。在某些情况下,当使用DEPT表中的嵌入式对象时,你会收到ORA-22912错误。
一般处理方法及步骤
1.检查错误的SQL命令的表达式是否正确,确认你要查询的列或属性是否是一个嵌入式表类型。
2.确认您的查询中嵌入式表的类型是否可以被正确解释,嵌入式表的定义是否正确声明。
3.确认您查询的表是否存在,查询的字段是否存在,确认其中嵌入式表类型字段是否是正确的。
4.如果查询中包含嵌入式表函数,请确认嵌入式表函数的参数是否正确,然后重新运行查询。
5.重新整理objects/instances:
DROP TABLE Emp;
DROP TABLE Dept;
CREATE TABLE Emp (empid NUMBER, empname VARCHAR2(30), DeptObj DeptType);
CREATE TABLE Dept (deptid NUMBER, deptname VARCHAR2(30));
CREATE TYPE DeptType AS OBJECT (deptid NUMBER, deptname VARCHAR2(30));
INSERT INTO Emp VALUES (1, ‘Tom’, DeptType(10, ‘Marketing’));
INSERT INTO Emp VALUES (2, ‘John’, DeptType(20, ‘Sales’));
COMMIT;
6.尝试使用集合函数处理查询:
SELECT <column_list>
FROM Emp e, TABLE(e.DeptObj) d;
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341