create table HPTS_user(id number(8,0) primary key,user_id number(8,0) unique not null,user_name varchar2(20),user_pwd varchar2(20) not null);create sequence user_sequence 
start with 1
increment by 1create trriger id_trriger before on insert on HPTS_user
for each row
declare
newId number(8,0)
begin
select user_sequence.nextval into newId from dual;
:new.id := newId;
end;

解决方案 »

  1.   

    报这样的错误:
    触发器:"scott.id_trriger"无效且未通过重新确认;
    水能帮帮我啊!!
      

  2.   


    错误有3处,修改过后:
    CREATE TRIGGER ID_TRRIGER
      BEFORE INSERT ON HPTS_USER
      FOR EACH ROW
    DECLARE
      NEWID NUMBER(8, 0);
    BEGIN
      SELECT USER_SEQUENCE.NEXTVAL INTO NEWID FROM DUAL;
      :NEW.ID := NEWID;
    END;
      

  3.   

    怎么又报new或old引用不允许在表层触发器中?
      

  4.   


    CREATE TRIGGER ID_TRRIGER
      BEFORE INSERT ON HPTS_USER
      FOR EACH ROW
    BEGIN
      SELECT USER_SEQUENCE.NEXTVAL INTO :NEW.ID FROM DUAL;
    END;