Jus*_*ave 27
创建表和序列
SQL> 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.
Run Code Online (Sandbox Code Playgroud)
现在,您可以创建一个使用序列填充主键的触发器
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.
Run Code Online (Sandbox Code Playgroud)
现在,当您插入数据时,您无需指定EMP_ID
列 - 它将自动由触发器填充
SQL> insert into staff( staff_name ) values ('Justin');
1 row created.
SQL> select * from staff;
EMP_ID STAFF_NAME
---------- --------------------
1 Justin
Run Code Online (Sandbox Code Playgroud)
mr_*_*air 21
阅读这篇美丽的文章.
序列如何[在oracle中自动增量]
句法
Create sequence sequence_name
start with value
increment by value
minvalue value
maxvalue value;
Run Code Online (Sandbox Code Playgroud)
例
SQL> create table emp (
emp_id number(10),
fname varchar2(25),
lname varchar2(25),
constraint pk_emp_id PRIMARY KEY(emp_id)
);
SQL> Create sequence emp_sequence
start with 1
increment by 1
minvalue 1
maxvalue 10000;
SQL> insert into emp (emp_id,fname,lname) values(emp_sequence.nextval,'Darvin','Johnson');
SQL> insert into emp (emp_id,fname,lname) values(emp_sequence.nextval,'Mig','Andrews');
SQL> insert into emp (emp_id,fname,lname) values(emp_sequence.nextval,'Alex','Martin');
SQL> insert into emp (emp_id,fname,lname) values(emp_sequence.nextval,'Jon','paul');
SQL> insert into emp (emp_id,fname,lname) values(emp_sequence.nextval,'Yatin','Bones');
Run Code Online (Sandbox Code Playgroud)
在emp_sequence.nextval
哪里emp_sequence
是我们在上面创建的序列的名称,并且nextval
是一个用于next number from emp_sequence to emp_id
在emp表中分配列的函数.
SQL> select * from emp;
EMP_ID FNAME LNAME
---------- ------------------------- -------------------------
1 Darvin Johnson
2 Mig Andrews
3 Alex Martin
4 Jon paul
5 Yatin Bones
Run Code Online (Sandbox Code Playgroud)
试试这个:
create sequence seq_EmpID start with 1 increment by 1
Run Code Online (Sandbox Code Playgroud)
insert into Emp_Table values(seq_EmpID.nextval,'Ram')
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
65904 次 |
最近记录: |