是不是序列不能做为表的一列呀,是必须用触发器吗?
SQL> create or replace trigger my_seq_tri
2 before insert on longyun.emp for each row
3 declare
4 next_id number;
5 begin select seq_name.nextval into next_id from emp;
6 :new.id:=next_id;
7 end;
8 /警告: 创建的触发器带有编译错误。
我已经在上面创建了解seq_name序列,但是在创建上面的触发器时,出现了"警告: 创建的触发器带有编译错误。",请帮忙???
SQL> create or replace trigger my_seq_tri
2 before insert on longyun.emp for each row
3 declare
4 next_id number;
5 begin select seq_name.nextval into next_id from emp;
6 :new.id:=next_id;
7 end;
8 /警告: 创建的触发器带有编译错误。
我已经在上面创建了解seq_name序列,但是在创建上面的触发器时,出现了"警告: 创建的触发器带有编译错误。",请帮忙???
2 before insert on longyun.emp for each row
3 declare
4 next_id number;
5 begin
select seq_name.nextval into :new.id from emp;
7 end;
8 /
2 increment by 1
3 start with 1
4 maxvalue 99999999999
5 nocycle
6 cache 10
7 /序列已创建。已用时间: 00: 00: 00.01
SCOTT>>create table a (xh number,name varchar2(20));表已创建。已用时间: 00: 00: 00.01
SCOTT>>insert into a values(seq_name.nextval,'卢学柱');已创建 1 行。已用时间: 00: 00: 00.00
SCOTT>>select * from a; XH NAME
--------- --------------------
1 卢学柱已用时间: 00: 00: 00.00
你用你建emp表的用户建一个sequence看,只要select seqname.nextval from dual可以选出就没问题。