ORA-54013错误解决办法
SQL> desc account_manager;
Name Type Nullable Default Comments
--------------- ------------ -------- ------- --------
ID CHAR(5)
NAME VARCHAR2(25) Y
EMPLOYMENT_DATE DATE Y sysdate
SALARY NUMBER(8,2) Y
COMMISSION NUMBER(7,2) Y
REGION CHAR(1) Y
查看account_manager的表结构
SQL> alter table account_manager
2 add(amearn as (salary+commission));
Table altered
先往表account_manager中增加一个虚拟列
SQL> desc account_manager;
Name Type Nullable Default Comments
--------------- ------------ -------- --------------------- --------
ID CHAR(5)
NAME VARCHAR2(25) Y
EMPLOYMENT_DATE DATE Y sysdate
SALARY NUMBER(8,2) Y
COMMISSION NUMBER(7,2) Y
REGION CHAR(1) Y
AMEARN NUMBER Y "SALARY"+"COMMISSION"
查看account_manager的表结构
SQL> insert into account_manager(id,name,employment_date,salary,commission,region,amearn)
2 values('00007','virtual column','2012/1/18',50000,4000,null,54000);
insert into account_manager(id,name,employment_date,salary,commission,region,amearn)
values('00007','virtual column',default,50000,4000,'N',54000)
ORA-54013: 不允许对虚拟列执行 INSERT 操作
SQL> insert into account_manager(id,name,employment_date,salary,commission,region)
2 values('00007','virtual column',default,50000,4000,'N');
1 row inserted
把虚拟列从插入列表中移除,插入成功。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26110315/viewspace-715722/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/26110315/viewspace-715722/
本文介绍了一个关于Oracle数据库中虚拟列的操作限制问题。当尝试在含有虚拟列的表中执行INSERT操作时,遇到了ORA-54013错误。通过调整SQL语句,将虚拟列从插入列表中移除,成功解决了该问题。
1721

被折叠的 条评论
为什么被折叠?



