日期:2014-05-17  浏览次数:20773 次

更新表序列号
我创建了表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
------解决方案--------------------
探讨
A_SEQ是默认增长的,随着游标没更新一条,就自动加1