oracle中主键没有像sqlserver的自动编号。
可以用下面三种方式实行oracle中的自动编号。
1.使用触发器,和数据表中的记录数来产生主键。
2.触发器+序列
3.子查询
在JDBC中
insert into emp(empno,ename,sal)
select nvl(max(empno),0)+1,?,? from emp;
可以用下面三种方式实行oracle中的自动编号。
1.使用触发器,和数据表中的记录数来产生主键。
create or replace trigger tr_emp_empno
before insert on emp for each row
declare
v_num number;
begin
select count(*) into v_num from emp;
v_num:=nvl(v_num,0)+1;
end;
2.触发器+序列
create or replace trigger tr_emp_empno
before insert on emp for each row
begin
select seq1.nextval into :new.empno from dual;
end;
3.子查询
insert into emp(empno,ename,sal)
select nvl(max(empno),0)+1,'a',1000 from emp;
在JDBC中
insert into emp(empno,ename,sal)
select nvl(max(empno),0)+1,?,? from emp;