oracle 自增触发器

2025-02-21 18:07:44
推荐回答(2个)
回答1:

1、创建表

create tabletest_user(

user_id number(10,0) primary key,

user_name varchar2(40)

);

2、创建序列

create sequencetest_user_seq start with 1 maxvalue 9999999999 increment by 1;

3、创建触发器

create or replace

triggertest_user_trigger

before insert ontest_user

for each row

begin

selecttest_user_seq.nextval into :new.user_id from dual;

end ;

4、插入数据

insert intotest_user(user_name) values('tom');

insert intotest_user(user_name) values('jack');

5、测试结果

select * from test_user;

回答2:

SQL> create or replace trigger Use_dectuer
  2  before insert on use_Login
  3  for each row
  4  begin
  5  select Use_Login.nextval into :new.use_id from dual;
  6  end;
  7  /
before insert on use_Login
                 *
ERROR 位于第 2 行:
ORA-02201: 此处不允许序列


SQL> 
SQL> create or replace trigger Use_dectuer
  2  before insert on Login
  3  for each row
  4  begin
  5  select Use_Login.nextval into :new.use_id from dual;
  6  end;
  7  /

触发器已创建