我创建了表A,有以下字段
TTYPE varchar2(10)
CUST_PART_PTR VARCHAR2(50)
PKEY NUMBER
并建立了A_SEQ序列号。
在我为此表先插入TTYPE、CUST_PART_PTR字段值后再通过此A_SEQ序列号更新PKEY字段。
UPDATE A
SET PKEY = A_SEQ.NEXTVAL;
但为什么更新出来的PKEY结果是:
TTYPE CUST_PART_PTR PKEY
B ABCD 1
A ABCE 2
而不是:
TTYPE CUST_PART_PTR PKEY
B ABCD 1
A ABCE 1
谢谢!
------解决方案--------------------
UPDATE A
SET PKEY = A_SEQ.CURRVAL;
------解决方案--------------------
NEXTVAL 是每一行都会加1的
------解决方案--------------------
每update一條record就調用一次a_seq.nextval
------解决方案--------------------
A_SEQ是默认增长的,随着游标没更新一条,就自动加1
------解决方案--------------------