Oracle的自动增量

前端之家收集整理的这篇文章主要介绍了Oracle的自动增量前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要创建一个序列和一个触发器来自动递增表上的主键,但我不知道如何做到这一点.
创建表和序列
  1. sql> create table staff (
  2. 2 emp_id number primary key,3 staff_name varchar2(100)
  3. 4 );
  4.  
  5. Table created.
  6.  
  7. sql> create sequence emp_id_seq;
  8.  
  9. Sequence created.

现在,您可以创建一个使用序列来填充主键的触发器

  1. sql> create trigger trg_emp_id
  2. 2 before insert on staff
  3. 3 for each row
  4. 4 begin
  5. 5 select emp_id_seq.nextval
  6. 6 into :new.emp_id
  7. 7 from dual;
  8. 8 end;
  9. 9 /
  10.  
  11. Trigger created.

现在,当您插入数据时,您不需要指定EMP_ID列 – 它将自动由触发器填充

  1. sql> insert into staff( staff_name ) values ('Justin');
  2.  
  3. 1 row created.
  4.  
  5. sql> select * from staff;
  6.  
  7. EMP_ID STAFF_NAME
  8. ---------- --------------------
  9. 1 Justin

猜你在找的Oracle相关文章