我创建了一个让主键自动增长的trigger:create or replace trigger trg_userid_inc
before insert on users referencing new as newid
for each row
begin
newid.userid := seq_userid_inc.nextval;
end;运行以后老说“创建的触发器带有编译错误”。为什么?
before insert on users referencing new as newid
for each row
begin
newid.userid := seq_userid_inc.nextval;
end;运行以后老说“创建的触发器带有编译错误”。为什么?
:newid.userid := seq_userid_inc.nextval;
14:24:26 2 before insert on users referencing new as newid
14:24:26 3 for each row
14:24:26 4 declare
14:24:26 5 tmp number;
14:24:26 6 begin
14:24:26 7 select seq_userid_inc.nextval into tmp from dual;
14:24:26 8 :newid.userid := tmp;
14:24:26 9 end;
14:24:26 10 /触发器已创建已用时间: 00: 00: 00.31
:new.userid := seq_userid_inc.nextval;
TRIGGER TRG_USERID_INC 出现错误:LINE/COL ERROR
-------- ------------------------------------------------
4/1 PL/SQL: Statement ignored
4/23 PLS-00357: 在此上下文中不允许表,视图或序列引用
'SEQ_USERID_INC.NEXTVAL'先赋给一个变量即可.
?
before insert on users
for each row
begin
:new.userid := seq_userid_inc.nextval;
end;要注明,你的userid类型和大小是否能满足