在SQL中可以通过output inserted.PkId获取刚插入的自增主键,但是在oracle不行。我通过下面的方法获取其自增序列id:
insert into Truck_Station(pkid,StationID,LIndex,CarArrId,LStation,Memo) values (sqe_Truck_Station.nextval,'003','0','6','','');
select sqe_Truck_Station.currval from dual
但是如果是多线程操作,第二句的查询保证不了获取的一定是第一句中的pkid,还有没有其他的方法,最好能吧这个语句帮我写出来,谢谢……
insert into Truck_Station(pkid,StationID,LIndex,CarArrId,LStation,Memo) values (sqe_Truck_Station.nextval,'003','0','6','','');
select sqe_Truck_Station.currval from dual
但是如果是多线程操作,第二句的查询保证不了获取的一定是第一句中的pkid,还有没有其他的方法,最好能吧这个语句帮我写出来,谢谢……
IS
v_seq NUMBER(18,0);
BEGIN
SELECT sqe_Truck_Station.nextval INTO v_seq FROM DUAL;
insert into Truck_Station(pkid,StationID,LIndex,CarArrId,LStation,Memo)
values(v_seq,'003','0','6','','');
dbms_output.put_line('sqe_Truck_Station.currval is: '||to_char(v_seq));
commit;
END;
/