关于ORACLE11G表DEFAULT属性使用的一个问题
我在做开发的时候,有一个表中的字段有default属性,遇到了一个问题一直没有解决,所以在论坛上来求教各位。
第一步建表:
create table dotest
(
num1 NUMBER(16,2) AS(NVL(NUM2,0) + NVL(NUM3,0) + 0),
num2 NUMBER(16,2),
num3 NUMBER(16,2),
num4 NUMBER(16,2)
)
tablespace USERS
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64
next 8
minextents 1
maxextents unlimited
);
第二步生成一条数据:
INSERT INTO dotest(NUM2,NUM3) VALUES(100,100);
第三步修改数据:
UPDATE dotest SET NUM4 = NUM1 * 1.5;
然后你查询一下数据,看看字段NUM4的值,正常是300
SELECT * FROM dotest;
我在项目的生产机上发现了一个问题,生产环境上存在一个这样有default属性字段的表,我用update语句更新其中的一个字段,就如上边用NUM1【default属性的字段】来更新NUM4字段一样,困扰我的问题是更新后的结果一直是0,但是不管我怎么再做如上的测试也不会重现这个问题,最后没有办法我在生产机上重建了这个表,就没有这个问题了。
求教各位看看是否也遇到过这个问题,到底是什么原因导致的这个问题。