首先创建sequence create sequence S_Seq minvalue 1 maxvalue 999999999999999999999999999 start with 1 increment by 1 nocache;再插入给表中的主键insert sequence数据 insert into tab_1(PK_ID) values(S_Seq.nextval)
http://blog.csdn.net/carefree31441 我的博客!欢迎光临! --1、首先创建一个序列,用下面的可以简单的创建,最小值默认1,每次递增1,完全符合要求,没有必要自己搞麻烦!create sequence seq_name;--2、创建表create table admin(aid varchar(10),aname varchar(20));--3、创建个触发器,用于往表中自动增长列插入值create or replace trigger admin_tg before insert on admin for each row begin select seq_name.nextval into :new.aid from dual; end;--4、执行语句insert into admin(aname) values('admin11') 插入两列的值为:1,admin11 insert into admin(aname) values('admin22') 插入两列的值为:2,admin22 insert into admin(aname) values('admin33') 插入两列的值为:3,admin33 insert into admin(aname) values('admin44') 插入两列的值为:4,admin44
insert into test(PID)
values(seq.nextval)
不就行了
你首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE权限,
CREATE SEQUENCE emp_sequence
INCREMENT BY 1 -- 每次加几个
START WITH 1 -- 从1开始计数
NOMAXVALUE -- 不设置最大值
NOCYCLE -- 一直累加,不循环
CACHE 10; 一旦定义了emp_sequence,你就可以用CURRVAL,NEXTVAL
CURRVAL=返回 sequence的当前值
NEXTVAL=增加sequence的值,然后返回 sequence 值
比如:
emp_sequence.CURRVAL
emp_sequence.NEXTVAL
minvalue 1
maxvalue 999999999999999999999999999
start with 1
increment by 1
nocache;再插入给表中的主键insert sequence数据
insert into tab_1(PK_ID) values(S_Seq.nextval)
--1、首先创建一个序列,用下面的可以简单的创建,最小值默认1,每次递增1,完全符合要求,没有必要自己搞麻烦!create sequence seq_name;--2、创建表create table admin(aid varchar(10),aname varchar(20));--3、创建个触发器,用于往表中自动增长列插入值create or replace trigger admin_tg
before
insert
on admin for each row
begin
select seq_name.nextval into :new.aid from dual;
end;--4、执行语句insert into admin(aname) values('admin11') 插入两列的值为:1,admin11
insert into admin(aname) values('admin22') 插入两列的值为:2,admin22
insert into admin(aname) values('admin33') 插入两列的值为:3,admin33
insert into admin(aname) values('admin44') 插入两列的值为:4,admin44