Вставка в таблицу значений, найденных в предыдущем запросе - PullRequest
0 голосов
/ 05 августа 2020

У меня есть таблица, скажем 'ROLEE'., Которая содержит столбцы ROLE, ACCESSENTRY . Мне нужно найти первые строки, в которых ACCESSENTRY равно 'A', и для этих строк вставить в эту таблицу новые строки с выбранным ' ROLE ' и заданным ACCESSENTRY . Итак, скажем в этом запросе:

select role from ROLEE where ACCESSENTRY='A'

Я получаю 2 строки со значениями: ADMIN, USER и для этих ролей (ADMIN, USER) мне нужно вставить

INSERT INTO ROLEE
values ('ADMIN', 'ACCESS')
INSERT INTO ROLEE
    values ('USER', 'ACCESS')

Я пробовал с этими, но не работает:

INSERT INTO ROLEE
values (role, 'ACCESS') where role in (
select role from ROLEE where ACCESSENTRY='A') 

1 Ответ

0 голосов
/ 05 августа 2020

Пожалуйста, используйте инструкцию вставки ниже,

insert into ROLEE (select role, 'ACCESS' from ROLEE where ACCESSENTRY='A');

Правильный способ - указать имена столбцов,

insert into ROLEE(column1, column2) (select role, 'ACCESS' from ROLEE where ACCESSENTRY='A'); -- Provide the respective column names in colum1 and column2
...