две таблицы с одинаковой последовательностью - PullRequest
1 голос
/ 02 сентября 2011

Возможно ли иметь две таблицы с одинаковой последовательностью приращений?

Я пытался создать дерево с ID, NAME, ParentID, и мне нужно объединить две таблицы. Если у меня другой идентификатор, схема дерева ID - ParentId не будет работать.

     Table A                Table B
  ID | NAME | PID       ID | NAME | PID
  1  | xpto | 0          1 | xpto | 1

Ответы [ 3 ]

5 голосов
/ 02 сентября 2011

Если вы выполняете обе вставки одновременно, вы можете использовать SEQUENCE.NEXTVAL для вставки в первую таблицу, чтобы получить новый идентификатор, а затем SEQUENCE.CURRVAL для вставки во вторую таблицу, чтобы повторно использовать тот же идентификатор .

3 голосов
/ 02 сентября 2011

Вы можете иметь основную таблицу, которая представляет собой не что иное, как последовательность PK / FK, а затем иметь две дочерние таблицы. Вставьте строку в мастер, чтобы получить последовательность, а затем используйте эту последовательность в качестве PK в дочерних таблицах. Если дочерние таблицы имеют одинаковую последовательность, то почему не одна таблица?

2 голосов
/ 02 сентября 2011

Я нашел ответ: «Порядковые номера генерируются независимо от таблиц, поэтому одну и ту же последовательность можно использовать для одной или нескольких таблиц».

http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_6015.htm

Резервуары для вашегопомощь.

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