我正在尝试使用触发器创建一个自动序列号genaration,但是在插入值时它给了我下面的错误信息。在oracle中的自动序列
ALTER TABLE sppinv_tblinventory_ex ADD (
CONSTRAINT sppinv_tblinventory_PK PRIMARY KEY (uniqueid));
create sequence row_seq ;
create or replace trigger row_count before insert on sppinv_tblinventory_ex
for each row
begin
select row_seq.nextval into : new.uniqueid from dual;
end;
如果我下面excuting然后我可以插入值
insert into sppinv_tblinventory_ex
select row_seq.nextval,
b.member_id,b.src_claim_nbr,b.client_nbr,b.src_platform_cd,
b.suspense_date,b.batch_gen_key,b.bucket_name,b.grouper_rule,
b.event_number,b.case_stat,b.case_stat_dt,b.assigned_to,
b.assigned_on,b.followup_dt,b.release_ind,b.release_dt,
b.viewtype
from sppinv_tblinventory b
当我将与出UNIQUEID我收到错误,如下面
insert into sppinv_tblinventory_ex
select b.member_id,b.src_claim_nbr,b.client_nbr,b.src_platform_cd,
b.suspense_date,b.batch_gen_key,b.bucket_name,b.grouper_rule,
b.event_number,b.case_stat,b.case_stat_dt,b.assigned_to,
b.assigned_on,b.followup_dt,b.release_ind,b.release_dt,
b.viewtype
from sppinv_tblinventory b
ORA-00947: not enough values
注意的值:我不想禁用触发器
它的供应,即使你提供的每一个值的列列表很好的做法,因为列可能不按照您期望的顺序排列,并且更容易发现错误;当你没有提供每个价值时,这是必需的,就像在这种情况下一样。 – 2015-03-02 16:43:44
当您列出所有列并希望“排除”某些值时,您还可以使用关键字'DEFAULT'。 – ibre5041 2015-03-02 20:32:12