我需要创建一个序列和一个触发器来自动递增表上的主键,但我不知道如何做到这一点.
创建表和序列
原文链接:/oracle/205525.htmlsql> create table staff ( 2 emp_id number primary key,3 staff_name varchar2(100) 4 ); Table created. sql> create sequence emp_id_seq; Sequence created.
现在,您可以创建一个使用序列来填充主键的触发器
sql> create trigger trg_emp_id 2 before insert on staff 3 for each row 4 begin 5 select emp_id_seq.nextval 6 into :new.emp_id 7 from dual; 8 end; 9 / Trigger created.
现在,当您插入数据时,您不需要指定EMP_ID列 – 它将自动由触发器填充
sql> insert into staff( staff_name ) values ('Justin'); 1 row created. sql> select * from staff; EMP_ID STAFF_NAME ---------- -------------------- 1 Justin