CREATE SEQUENCE name (
START WITH 1
INCREMENT BY 1INSERT INTO table(aa)
VALUES (name.nextval)

解决方案 »

  1.   

    新建一个序列:
    CREATE SEQUENCE name (
    START WITH 1
    INCREMENT BY 1
    插入之前读序列的下一个值:
    INSERT INTO table(aa)
    VALUES (name.nextval)
      

  2.   

    小弟是ORACLE的门外汉,身旁又不有工具书,请高手再详细指点:
    请问:楼上的
    CREATE SEQUENCE name (
    START WITH 1
    INCREMENT BY 1
    这个语句完整的该如何写??
    是如何针对此表建立序列的?
    增加序列字段还是在原字段的基础上增加,还是只是增加一个序列,可以像普通字段一样去讲读??
    麻烦了!
      

  3.   

    那序列后,就在程序使用它,也可以用触发器来做。
    create trigger a_tri
    before insert on a 
    for each row
    begin
    select name.nextval into :new.id from dual;
    end;
    /
      

  4.   

    建立序列:
    CREATE SEQUENCE SEQ_DEPART
    INCREMENT BY 1
    MINVALUE 1
    MAXVALUE 99999999        --可以自己定义长度
    NOCYCLE 
    NOCACHE
    ORDER;
    COMMIT;建立触发器:
    CREATE OR REPLACE TRIGGER TRG_ADDDEPART
    BEFORE INSERT ON T_DEPARTMENTINFO
    FOR EACH ROW
    BEGIN 
      SELECT SEQ_DEPART.NEXTVAL INTO :NEW.SN FROM DUAL;
    END TRG_ADDDEPART;
      

  5.   

    CREATE TRIGGER "KP"."INSERT_MSCS" BEFORE
    INSERT ON "GRKHXX" REFERENCING OLD AS old NEW AS new 
        FOR EACH ROW 
    begin
      select MSCS.nextval into :new.BH from DUAL;
    end;
     
    上面的触发器创建时,显示错误Ora-00942:表和视图不存在,你没有足够的权限执行该操作。
      其中MSCS为一个sequence.