如何自動建立序列號?(求助)幫幫我!!

在表中,如果建立一個可以自動生成一個唯一的序列號,也就是說,在這個表中,隻要有一個字段不為空,那這個列就要自動的生成一個本列唯一的一個號碼?我應該如何做,謝謝大家,在線等待。。

msn:zmddwm@hotmail.com

[ 本帖最后由 zmddwm 于 2008-10-31 15:39 编辑 ]
我也来说两句 查看全部回复

最新回复

  • 悬空草 (2008-10-29 18:25:57)

    你的意思是不是create table 的时候,一旦出现not null,则自动create 一个sequence?
  • zmddwm (2008-10-30 08:21:41)

    QUOTE:

    原帖由 悬空草 于 2008-10-29 18:25 发表
    你的意思是不是create table 的时候,一旦出现not null,则自动create 一个sequence?
    不好意思,不是這樣的,我的意思是在table中,每插入一條新記錄的時候,就會有一個sequence,就是定義這個表中的一個字段為序列字段,可以自動產生一個唯一的號
  • mroot (2008-10-30 11:22:46)

    先建一个sequence,然后在表中建上触发器。来把sequence更新到序列字段中
  • west_wolf (2008-10-30 13:05:26)

    sysguid()
  • zmddwm (2008-10-30 13:45:18)

    不好意思,不是很明白怎麼操作,我是初學者,能否更細的描述一下怎麼做嗎?謝謝
  • zmddwm (2008-10-31 16:00:33)

  • liuhz2002 (2008-10-31 17:37:18)

    1. 创建序列
    create sequence 序列名
        start with 1
        increment by 1
    2. 插入序列
    insert into 表名 values( ....序列名.nextval....)
  • 悬空草 (2008-11-03 10:34:31)

    如8楼一样,我认为不需要触发器吧。

    像8楼这样做就可以了的。楼主
  • philip_zhong (2008-11-03 14:00:46)

    两种方法,一个是sequence ,insert的时候显示的使用这个sequence
    楼上所写:
    1. 创建序列
    create sequence 序列名
        start with 1
        increment by 1
    2. 插入序列
    insert into 表名 values( ....序列名.nextval....);
    另一个是sys_guid(),在建表的时候,直接默认使用这个函数例如
    create table a
    ( id  varchar2(64)   default  sys_guid() not null
    )