|
|
|
Одновременный insert в родительскую и дочернюю таблицу
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток! Есть две таблицы 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'ом я не допетрил, ибо он только одно выражение поддерживает. Теперь вопрос: как сделать такой инсерт грамотно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2016, 12:30 |
|
||
|
Одновременный insert в родительскую и дочернюю таблицу
|
|||
|---|---|---|---|
|
#18+
Если можно, поделитесь ссылочками на "best practice" кошерных инсертов и апдейтов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2016, 12:34 |
|
||
|
Одновременный insert в родительскую и дочернюю таблицу
|
|||
|---|---|---|---|
|
#18+
israelshamirМожно ли декларативно вставить записи в обе таблицы? http://psoug.org/snippet/INSERT-ALL-WHEN_590.htm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2016, 13:12 |
|
||
|
Одновременный insert в родительскую и дочернюю таблицу
|
|||
|---|---|---|---|
|
#18+
andrey_anonymous, про insert all мне известно. я не уточнил, мне надо значения генерируемые seq1.nextval вставлять срузу же в дочернюю таблицу в колонку "b". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2016, 13:20 |
|
||
|
Одновременный insert в родительскую и дочернюю таблицу
|
|||
|---|---|---|---|
|
#18+
israelshamirandrey_anonymous, про insert all мне известно. я не уточнил, мне надо значения генерируемые seq1.nextval вставлять срузу же в дочернюю таблицу в колонку "b". Триггеры переоформите - пусть генерят nextval только если :new.id is null чтобы не поломать ничего, а для своих целей проводите генерацию в коде. Ну или отставить "декларативно" и делать "императивно" - в pl/sql ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2016, 13:34 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39354969&tid=1886938]: |
0ms |
get settings: |
4ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
139ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
28ms |
get tp. blocked users: |
1ms |
| others: | 219ms |
| total: | 411ms |

| 0 / 0 |
