相关疑难解决方法(0)

Oracle SQL:如何读取和增加字段

我正在重构企业应用程序的数据导入过程,并且遇到了一个片段,我想找到更好的解决方案.导入数据时,我们必须为每个数据集创建一个唯一的实体,并且字段中有一个计数器用于按顺序分配此ID.您阅读该字段以获取下一个空闲ID并在之后增加它以准备下一次.

目前,这是在原始应用程序中分两步完成的,用'C'编写:

   SELECT idnext FROM mytable;
   UPDATE mytable SET idnext = idnext + 1;
Run Code Online (Sandbox Code Playgroud)

显然这里存在竞争条件,如果多个进程做同样的事情.

编辑:重要的核心:我无法触及数据库/字段定义,这排除了一个序列.

我们在perl中重写,我想做同样的事情,但更好.原子解决方案会很好.不幸的是我的SQL技能有限,所以我转向集体智慧:-)

sql database oracle atomic

8
推荐指数
1
解决办法
2万
查看次数

标签 统计

atomic ×1

database ×1

oracle ×1

sql ×1