如何用触发器给Oracle中的表实现自增字段
我知道是用sequences.nextval可以实现自增字段,我想用触发器和sequences实现它的自动递增就比如原来我要这样做insertintotable(id,n...
我知道是用sequences.nextval可以实现自增字段,我想用触发器和sequences实现它的自动递增就比如原来我要这样做insert into table(id,name,age) values(sequences.nextval,'jack',18);才能实现自增,现在我想这样就能自增:
insert into table(id,name,age) values('jack',18);
就像mysql里面的自增一样不用手写什么,我记得用触发器可以实现这个功能,但是忘了怎么弄,请高人指点一番,多谢了!!!通过客户端创建的方法或者代码都可以 展开
insert into table(id,name,age) values('jack',18);
就像mysql里面的自增一样不用手写什么,我记得用触发器可以实现这个功能,但是忘了怎么弄,请高人指点一番,多谢了!!!通过客户端创建的方法或者代码都可以 展开
1个回答
展开全部
CREATE OR REPLACE TRIGGER scott.trigProduct BEFORE insert ON scott.tblProduct FOR EACH ROW
BEGIN
select seqProduct.nextval into:new.ID from sys.dual;
END;
/
alter trigger scott.trigProduct enable;
当然要先创建表和sequence
BEGIN
select seqProduct.nextval into:new.ID from sys.dual;
END;
/
alter trigger scott.trigProduct enable;
当然要先创建表和sequence
追问
错误ORA-04098 触发器'scott.tblProduct'无效且未通过重新验证
追答
呃...你不会还没解锁scott账户吧?
我这里的scott都是同一个账户的名字,你可以对应改掉或者直接去掉都可以的...另外有问题的话可以Hi我
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询