Oracle последовательность запуска - PullRequest
0 голосов
/ 20 апреля 2020

У меня проблема с триггером 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

как мы можем решить эту проблему?

1 Ответ

2 голосов
/ 20 апреля 2020

Инкрементальные столбцы (т. Е. Столбцы, основанные на последовательностях) присваивают свое значение на INSERT, а не на COMMIT. Так что порядок вставки определяет порядок записи, а не когда эти вставки были зафиксированы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...