在我设计的表中有一个字增id字段,id自增我已经通过序列+触发器实现;我的问题是:在我向表中新加一条纪录后,我需要马上得到新增加的这条纪录的id字段的值。如果使用select max(id) from table,则在并发的情况下可能会出错;曾经有人建议用一个变量记录下id,然后返回,我现在就是不明白如何将这个变量返回到java程序中,请指教!
...全文
517打赏收藏
高分求救一个简单问题!
在我设计的表中有一个字增id字段,id自增我已经通过序列+触发器实现;我的问题是:在我向表中新加一条纪录后,我需要马上得到新增加的这条纪录的id字段的值。如果使用select max(id) from table,则在并发的情况下可能会出错;曾经有人建议用一个变量记录下id,然后返回,我现在就是不明白如何将这个变量返回到java程序中,请指教!
用包记录哪个ID吧
create package test_pack
as
p_id varchar2(10);
end;
/
create trigger a_tri
before insert on a
for each row
begin
select id.nextnvl from :new.id from dual;
select id.nextnvl into test_pack.p_id from dual;
end;
/