文档解释
ORA-29921: Ancillary operator not supported with set view query block
Cause: Outer view query block contains ancillary operator and view query block contains union all.
Action: Define the union-all view query to contain the primary and ancillary query terms. i.e. have the operators within the view definition rather than in the query outside the view.
ORA-29921: 在SET VIEW查询块中不支持不重要的操作符。
官方解释
ORA-29921: 该错误表明在Oracle数据库引擎中使用SET VIEW查询块时,不支持不重要的操作符,例如EXISTS、ALL、ALTER TABLE等。
常见案例
通常发生在使用SET VIEW子句时,该子句用于动态加载和更改视图或子查询的结构,以及构造新的结果集。
一般处理方法及步骤
1.检查具体的查询,确定使用的操作符是否是与SET VIEW子句兼容的操作符。
2.如果不兼容,则应替换为可被SET VIEW子句识别的兼容操作符,或者可以使用NOT EXISTS、NOT IN或NOT ALL代替EXISTS、IN或ALL,等等。
3.在修改成功后,在相应的语句中重新添加SET VIEW子句,然后重新提交该语句,看看是否返回了预期的结果。