【问题标题】:Oracle trigger sequenceOracle 触发序列
【发布时间】:2020-04-20 07:57:39
【问题描述】:

我的 Oracle 触发器有问题。有两个表 A 和 B,它们都有增量字段 seq_num_a 和 seq_num_b,并且 A 有一个触发器,如果​​插入 A 会将相同的内容写入 B。现在如果我插入 A 表但不提交,另一个一个插入 A 并提交。

Table A
seq_num_A,| byWho
1,        | Me
2,        | Other

我认为B应该是

Table B
seq_num_B,| byWho
1,        | Other
2,        | Me

因为我在另一个之后提交,但 B 仍然显示值

Table B
seq_num_B,| byWho
1,        | Me
2,        | Other

我们如何解决这个问题?

【问题讨论】:

    标签: oracle triggers


    【解决方案1】:

    增量列(即基于序列的列)在 INSERT 上分配其值,而不是在 COMMIT 上。因此,决定记录顺序的是 INSERT 顺序,而不是提交这些插入的时间。

    【讨论】:

      猜你喜欢
      • 2015-03-04
      • 2012-11-05
      • 2014-10-28
      • 2014-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-09
      • 2010-11-28
      相关资源
      最近更新 更多