Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Одновременный insert в родительскую и дочернюю таблицу / 6 сообщений из 6, страница 1 из 1
26.11.2016, 12:30
    #39354969
israelshamir
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одновременный insert в родительскую и дочернюю таблицу
Доброго времени суток!

Есть две таблицы t1(a number, ..., col_n) и t2(a number, b number,..., col_m), где колонка "b" это fk на колонку "a" в t1. На обе таблицы есть триггеры before insert for each row, в которых для каждой новой строки проставляется seq.nextval (для таблиц используются разные сиквенсы seq1 и seq2).

Можно ли декларативно вставить записи в обе таблицы? Сейчас используется ужасный костыль с for i in, как это сделать forall'ом я не допетрил, ибо он только одно выражение поддерживает. Теперь вопрос: как сделать такой инсерт грамотно?
...
Рейтинг: 0 / 0
26.11.2016, 12:34
    #39354970
israelshamir
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одновременный insert в родительскую и дочернюю таблицу
Если можно, поделитесь ссылочками на "best practice" кошерных инсертов и апдейтов
...
Рейтинг: 0 / 0
26.11.2016, 13:12
    #39354985
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одновременный insert в родительскую и дочернюю таблицу
israelshamirМожно ли декларативно вставить записи в обе таблицы?
http://psoug.org/snippet/INSERT-ALL-WHEN_590.htm
...
Рейтинг: 0 / 0
26.11.2016, 13:20
    #39354989
israelshamir
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одновременный insert в родительскую и дочернюю таблицу
andrey_anonymous,

про insert all мне известно. я не уточнил, мне надо значения генерируемые seq1.nextval вставлять срузу же в дочернюю таблицу в колонку "b".
...
Рейтинг: 0 / 0
26.11.2016, 13:34
    #39354997
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одновременный insert в родительскую и дочернюю таблицу
israelshamirandrey_anonymous,

про insert all мне известно. я не уточнил, мне надо значения генерируемые seq1.nextval вставлять срузу же в дочернюю таблицу в колонку "b".
Триггеры переоформите - пусть генерят nextval только если :new.id is null чтобы не поломать ничего, а для своих целей проводите генерацию в коде.
Ну или отставить "декларативно" и делать "императивно" - в pl/sql
...
Рейтинг: 0 / 0
26.11.2016, 13:56
    #39355008
israelshamir
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одновременный insert в родительскую и дочернюю таблицу
andrey_anonymous,

именно эту информацию я и хотел получить, спасибо большое!
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Одновременный insert в родительскую и дочернюю таблицу / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]