Oracle触发器在一个周期内插入另一个表中的值

Oracle触发器在一个周期内插入另一个表中的值,oracle,Oracle,在tableA中,我有一个ID字段,当插入tableA时,我希望它是tableB中的一个值。但是,对于输入的每个记录,它应循环检查表B中的所有值。所以,如果我在表B中有0,1,2,3的id,那么在第一次插入到表a时,它会将表B的值赋值为0,在第二次插入时,它应该使用表B 1,然后是2,然后是3,然后返回到0,并在这样的循环中循环 我猜我需要一个表来跟踪哪个值应该是下一个值,然后在触发器中使用该值,然后获取下一个值以用于下一个插入触发器。有没有其他方法可以考虑在存储过程之外执行此操作?据我所知,您

在tableA中,我有一个ID字段,当插入tableA时,我希望它是tableB中的一个值。但是,对于输入的每个记录,它应循环检查表B中的所有值。所以,如果我在表B中有0,1,2,3的id,那么在第一次插入到表a时,它会将表B的值赋值为0,在第二次插入时,它应该使用表B 1,然后是2,然后是3,然后返回到0,并在这样的循环中循环


我猜我需要一个表来跟踪哪个值应该是下一个值,然后在触发器中使用该值,然后获取下一个值以用于下一个插入触发器。有没有其他方法可以考虑在存储过程之外执行此操作?

据我所知,您试图通过TableB中的ID将数据从TableB加载到TableA中。 如果TableB中的数据是要加载到TableA中的历史数据,则需要包含游标的存储过程,以便可以从B向A进行初始增量加载。在这种情况下,不需要另一个表,因为在存储过程中使用游标


如果希望在TableB上有插入或更新时填充TableA,则可以在TableB上使用触发器

使用实际的表数据结构很容易理解?因此,基本上这是一种将服务器名称(存储为tableB中的字段)分配到tableA中创建的新记录中的方法(不是随机分配,而是通过循环)。想象一下,tableA存储要运行的作业/任务,它有一个字段告诉它要在哪个服务器上运行该任务,tableB是一个可用服务器名称的列表。我只想为表A中的每个插入按顺序分配列表中的下一个服务器。当我到达末尾时,我想返回到开始的服务器名称并重新开始。