消除或修改系统生成的虚拟列

时间:2018-07-09 00:07:01

标签: sql oracle oracle12c ddl

我遇到以下问题,我想通过执行alter table foro rename column foro_codigo to foro_id来修改主键的名称。出现以下错误

  

通知错误-ORA-54032:列印名称为nombre   虚拟现实的实用性   54032。0000-“要在虚拟列表达式中使用要重命名的列”   *原因:尝试重命名虚拟列中使用的列              表达。   *操作:先删除虚拟列或更改虚拟列              表达式以消除对要重命名的列的依赖。

进行以下查询时

SELECT virtual_column, Column_Name, Table_Name, Owner 
  FROM all_tab_cols
 WHERE virtual_column!='NO' AND OWNER='CAPACITACIONES' AND Table_Name='FORO';

我意识到虚拟列是由系统创建的,所以如果虚拟列是由系统本身完成的,那么我不知道如何更改FORO_CODIGO表的FORO的名称,因此 ALTER TABLE CAPACITACIONES.FORO DROP COLUMN SYS_STSQI47UK2JXT4$ZVGL1ZY$QKX提供以下内容:

  

通知错误-ORA-12996:无虚拟对象   全身性湿疹   12996。00000-“无法删除系统生成的虚拟列”   *原因:尝试删除由生成的虚拟列              系统。

请先帮助并非常感谢

0 个答案:

没有答案