Вставить несколько строк в таблицу из двух разных таблиц в Oracle? - PullRequest
0 голосов
/ 08 марта 2019

Я пытаюсь вставить несколько строк в таблицу, используя select, но получаю сообщение об ошибке «недостаточно значений».

Мой запрос:

Insert into c(x, y) select * from a union all select * from d;

таблица a и b содержит 2 записи каждая, а таблица c имеет одну запись.

Ответы [ 2 ]

1 голос
/ 08 марта 2019

Перечислите столбцы явно:

Insert into c (x, y)
    select col1, col2
    from a
    union all
    select col1, col2
    from d;

Если в одной из таблиц есть только один столбец, используйте заполнитель для значения:

Insert into c (x, y)
    select col1, col2
    from a
    union all
    select col1, NULL
    from d;
1 голос
/ 08 марта 2019

попробуйте, как показано ниже, указав оба имени столбца

Insert into c(x, y) 
select col1,col2 from a
 union all 
select col1,col2 from d

для union all Обе таблицы имеют одинаковое количество столбцов, и их тип данных также должен быть одинаковым

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