java.lang.IllegalArgumentException:There is no column named SYS_NC00010$

业务要求建立唯一索引,并且这个唯一索引还带有逻辑判断的,(⊙﹏⊙),那么对于程序自身也可能带来点小问题(⊙﹏⊙)


create unique index DMP_CORE_BASE.u_project_model_hv_bid_c on DMP_CORE_BASE.project_model(decode(history_version,0,code,id),biz_id) tablespace DMP_CORE_BASE online;

要考虑虚拟列带来的问题,开发那边初始化程序

比如下面这个就带来了问题,

 create unique index COUPON_CORE_BASE_KK.U_CPCO_GROUP_COUPON_IT_GID_RID on COUPON_CORE_BASE_KK.CPCO_GROUP_COUPON_ITEM (NVL(RECEIVE_ROLE_ID,ID), GROUP_COUPON_ID)
  tablespace COUPON_CORE_BASE_KK;


java.lang.IllegalArgumentException:There is no column named SYS_NC00010$


java.lang.IllegalArgumentException:There is no column named SYS_NC00010$


最后的解决办法就是先删除掉,等业务初始化完成在建立。。

java.lang.IllegalArgumentException:There is no column named SYS_NC00010$