当前位置: 代码迷 >> Oracle开发 >> 更新表序列号解决方法
  详细解决方案

更新表序列号解决方法

热度:1006   发布时间:2016-04-24 08:04:43.0
更新表序列号
我创建了表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
  相关解决方案