oracle 8i 中如何使一个字段自动连续编号,怎样使用序列?(50分)

  • 主题发起人 主题发起人 tanxh
  • 开始时间 开始时间
T

tanxh

Unregistered / Unconfirmed
GUEST, unregistred user!
oracle 8i 中如何使一个字段自动连续编号,怎样使用序列?
小弟刚学习ORACLE,希望各位多指教,不胜感激!
 
定义一个public序列,每次插入记录时读取这个序列当前值,然后插入数据库...
(不过这样做也有问题,有可能多个用户同时读了某一个序列值,插入时也会冲突
,所以还要自己处理一些异常情况,在触发器里...)
 
CREATE SEQUENCE [schema.]sequence
[INCREMENT BY integer]
[START WITH integer]
[MAXVALUE integer | NOMAXVALUE]
[MINVALUE integer | NOMINVALUE]

[CYCLE | NOCYCLE]
[CACHE integer | NOCACHE]
[ORDER | NOORDER]

sample:CREATE SEQUENCE SEQ_TBNAME START WITH 1 NOCACHE;
use: SEQ_TBNAME.NEXTVAL 得下序列号
不会出现kent说的情况,因为SEQ_TBNAME.NEXTVAL 绝对是唯一的



 
Sorry, pqx是对的,序列号确实是唯一的,但是有时有可能不连续...
 
我明白了.谢谢!
 
后退
顶部