运行如下代码,结果在最后一句报错!
sql>create table articletype(id number primary key,name varchar2(30));
sql>create sequence seq_aritcle_id increment by 1 start with 1 maxvalue 999999999;
sql>create trigger trg_articletype_id
before insert
on articletype
for each row
begin
select seq_articletype_id.nextval into :new.id
from dual;
end;
/
警告: 创建的触发器带有编译错误 这是什么原因啊,如何修改?谢谢了!
sql>create table articletype(id number primary key,name varchar2(30));
sql>create sequence seq_aritcle_id increment by 1 start with 1 maxvalue 999999999;
sql>create trigger trg_articletype_id
before insert
on articletype
for each row
begin
select seq_articletype_id.nextval into :new.id
from dual;
end;
/
警告: 创建的触发器带有编译错误 这是什么原因啊,如何修改?谢谢了!
insert into articletype values(seq_articletype_id.nextval,..... 就可以了。为什么还需要这样一个触发器?
我想直接在数据库增加一个触发器,而在接入字段时不给值给自增列就可以了,和sql server类似!
create or replace trigger trg_articletype_id
before insert
on articletype
for each row
declare
next_id number;
begin
select seq_aritcle_id.nextval into next_id from dual;
:new.id:=next_id;
end;你的sequence使用的时候名字!!!
create or replace trigger trg_articletype_id
before 操作
on 表名
for each row
declare
id number;
begin
select 序列名.nextval into id from dual;
:new.id :=id;
end;
警告: 创建的触发器带有编译错误
你在定义的时候操作是insert 但是在下面的过程中你insert了么????