ORA-54013错误解决办法

本文介绍了一个关于Oracle数据库中虚拟列的操作限制问题。当尝试在含有虚拟列的表中执行INSERT操作时,遇到了ORA-54013错误。通过调整SQL语句,将虚拟列从插入列表中移除,成功解决了该问题。
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/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值