Oracle11g Oracle:列默认值,与同一表中的另一列相同
我正在使用oracle 11g 我已经创建了test_date表Oracle11g Oracle:列默认值,与同一表中的另一列相同,oracle11g,sql-update,Oracle11g,Sql Update,我正在使用oracle 11g 我已经创建了test_date表 创建表test_date(str_date date,rtn_date为(str_date+90)) 我插入了str_date的值 INSERT INTO test_date(str_date) VALUES(SYSDATE); 现在看来 SQL> SELECT * FROM test_date; STR_DATE RTN_DATE --------- --------- 08-MAY-21 06-AUG-21 我想更
创建表test_date(str_date date,rtn_date为(str_date+90))代码>
我插入了str_date的值
INSERT INTO test_date(str_date) VALUES(SYSDATE);
现在看来
SQL> SELECT * FROM test_date;
STR_DATE RTN_DATE
--------- ---------
08-MAY-21 06-AUG-21
我想更新rtn_date的值,但是得到错误像
SQL> UPDATE test_date SET rtn_date='01-APR-2021';
第1行错误:ORA-54017:虚拟机上不允许更新操作
纵队
如果rtn_日期,是否有方法更新该值
谢谢 您不能像这样直接更新rtn\u date
列,因为它只是一个基于str\u date
列的虚拟/计算列。@TimBiegeleisen谢谢!!有没有别的选择?当然有;更新STR_DATE和RNT_DATE将反映此更改。@Littlefoot谢谢!!我明白你的意思。STR_DATE是租赁的开始日期,RTN_DATE是归还日期。所以我想保留90天的租期,所以如果租期超过,我可以更新。