Sql 在Oracle中插入是顺序的吗

Sql 在Oracle中插入是顺序的吗,sql,oracle,concurrency,Sql,Oracle,Concurrency,我有一张甲骨文的桌子。 我正在创建多个批处理作业。 每个批处理作业都会在表中插入一定数量的记录 我想知道是否有insert语句是按顺序执行的?在特定的作业中,如果它在一个事务中运行,答案是“是”,但如果您想找出所有作业的顺序,这些作业同时启动,这一切都取决于特定的情况和作业的实现。例如,如果我们有两个作业,其中一个比另一个更早开始,但是第一个作业需要更多的时间来收集数据,那么我们不能说第一个作业插入会比第二个更早完成。影响记录插入顺序的因素很多。因此,如果控制顺序对您至关重要,那么您应该自己实现

我有一张甲骨文的桌子。 我正在创建多个批处理作业。 每个批处理作业都会在表中插入一定数量的记录


我想知道是否有insert语句是按顺序执行的?

在特定的作业中,如果它在一个事务中运行,答案是“是”,但如果您想找出所有作业的顺序,这些作业同时启动,这一切都取决于特定的情况和作业的实现。例如,如果我们有两个作业,其中一个比另一个更早开始,但是第一个作业需要更多的时间来收集数据,那么我们不能说第一个作业插入会比第二个更早完成。影响记录插入顺序的因素很多。因此,如果控制顺序对您至关重要,那么您应该自己实现一致性,使用时间戳检查或对象锁。

扮演魔鬼代言人的角色,您甚至可以保证您的各种批插入操作甚至会同时命中Oracle数据库吗?有可能,这就是我问这个问题的原因。谁在创建这些批处理作业?它是Oracle内部的一个进程,还是来自外部,例如来自软件?您可以在表中添加一个SYSTIMESTAMP列,并在批中插入SYSTIMESTAMP,以检查在何时执行哪个批,这样您就可以检查顺序。Oracle内部的进程