我需要为oracle数据库添加一组对象,并为该组添加新的id,并将groupId字段设置为每个添加的记录。表如下所示:GR(objId number,groupId number)。问题是如果在将对象添加到数据库之前获得最大组ID,然后添加它们,那么线程就会出现问题。有没有办法添加它而没有线程问题?
答案 0 :(得分:1)
是的,请使用序列。
CREATE SEQUENCE groupid_seq;
在添加新记录之前,从序列中获取新值:
SELECT groupid_seq.nextval FROM dual;
将此值用作INSERT
中的groupId。您的数据库将处理没有线程将获得重复的数字。