Я использую оператор INSERT ALL
в Oracle для вставки данных в две разные таблицы. Данные поступают из довольно сложного подзапроса, а не из предложения VALUES
.Выбор столбцов в Oracle INSERT ALL Statement
Моя проблема в том, что я не хочу вставлять все столбцы, возвращаемые подзапросом в обе таблицы.
В качестве простого примера предположим, что у меня есть две таблицы tab1
и tab2
каждая из которых содержит три колонки col1
, col2
и col3
.
Теперь предположим, что мой подзапрос возвращает одну строку со значениями A
, B
и C
.
Итак, я хочу A
, B
и C
вставляется в col1
, col2
и col3
из tab1
соответственно, но я хочу, скажем, только A
и C
идти в col1
и col3
из tab2
.
Мое заявление будет выглядеть примерно так:
INSERT ALL
INTO tab1
(col1, col2, col3)
INTO tab2
(col1, ?, col3)
FROM
(...
complex subquery which returns A, B, C
...
)
Есть ли способ, что я могу использовать какую-то «наполнитель» или «мусорной рубрикой», чтобы позволить мне достичь своей цели?
Есть ли способ сделать это без 'values' статей? –
@ Исаак, без предложений 'values', как он будет знать, какие столбцы из списка выбрать для каждого столбца в целевых таблицах? –