CREATE OR REPLACE TRIGGER CONFIG_TABLES_INS
  before insert on CONFIG_TABLES
  for each row
declare
  ROW_ID NUMBER(16);
begin
  IF :NEW.ROW_ID IS NULL THEN
      SELECT SEQ_CONFIG_TABLES.NEXTVAL INTO ROW_ID FROM DUAL;
  :NEW.ROW_ID:=ROW_ID;
  END IF;
  EXCEPTION
  WHEN OTHERS THEN
  NULL;
end CONFIG_TABLES_INS;SEQ_CONFIG_TABLES:你自己建立的触发器

解决方案 »

  1.   

    CREATE SEQUENCE USERID INCREMENT BY 1 START WITH 1 
        MAXVALUE 1.0E28 MINVALUE 1 NOCYCLE 
        NOCACHE NOORDER;CREATE OR REPLACE TRIGGER USERADD
    BEFORE INSERT ON MEMBERRG
    FOR EACH ROW
    BEGIN
        SELECT LPAD(USERID.NEXTVAL,4,'0') INTO :NEW.NUM FROM DUAL;
    END;
      

  2.   

    同意beckhambobo(beckham) ( ) 的
    CREATE SEQUENCE USERID INCREMENT BY 1 START WITH 1 
        MAXVALUE 1.0E28 MINVALUE 1 NOCYCLE 
        NOCACHE NOORDER;CREATE OR REPLACE TRIGGER USERADD
    BEFORE INSERT ON MEMBERRG
    FOR EACH ROW
    BEGIN
        SELECT LPAD(USERID.NEXTVAL,4,'0') INTO :NEW.NUM FROM DUAL;
    END;
      

  3.   

    Give you a sample:CREATE SEQUENCE station_id
      INCREMENT BY 1
      START WITH 0
      MINVALUE 1
      MAXVALUE 999999999999999999999999999
      NOCYCLE
      NOORDER
      CACHE 20CREATE OR REPLACE TRIGGER insert_station_id
    BEFORE INSERT 
    ON s_station_info
    REFERENCING NEW AS NEW OLD AS OLD
    FOR EACH ROW
    begin
        select create_station_id.nextval into :new.station_id from dual;
    end;