文档解释
ORA-54034: virtual columns not allowed in functional index expressions
Cause: An attempt was made to create a functional index with an expression defined on one or more virtual columns.
Action: Specify the index expression using only regular columns.
ORA-54034错误指示在创建一个功能索引(Functional Index)时,不允许使用虚拟列(Virtual Column)。也就是说如果在创建索引时使用函数表达式,如:NVL2 (col1, col2),它不能包含虚拟列,否则会出现ORA-54034: virtual columns not allowed in functional index expressions错误。
官方解释
Functional indexes cannot include virtual columns.
但是,可以为Virtual Columns创建普通Indexes:
You can create indexes on virtual columns, as long as the expression performing the column calculation is deterministic.
常见案例
一般处理方法及步骤
1.检查是否正在使用带有虚拟列的功能索引(Functional Index),并根据要求更改其设计。
2.如果原来的索引是可以接受的,可以将虚拟列从功能索引中删除,然后重新创建功能索引。
3.如果此索引仅需要一个普通索引,请尝试为此虚拟列创建一个普通的B-Tree索引。