2016-12-11 8 views
1

Я пытаюсь вставить resultSet другого запроса на выбор в следующем запросе. Я не уверен, где моя ошибка. Получение ошибки SQL: ORA-00936: отсутствует выражение 00936. 00000 - "missing expression"Динамическая вставка в Oracle

Здесь я пытаюсь вставить запись 66,77, которые не находятся в Отделы таблице ..

INSERT INTO departments(DEPARTMENT_ID, DEPARTMENT_NAME, MANAGER_ID,LOCATION_ID) 
     SELECT DEPARTMENT_ID,DEPARTMENT_NAME,MANAGER_ID,LOCATION_ID (select * from 
    (SELECT 66 as DEPARTMENT_ID,'Administration' as DEPARTMENT_NAME, 200 as MANAGER_ID, 1700 as LOCATION_ID from dual 
     Union all 
     SELECT 77 as DEPARTMENT_ID,'Marketing' as DEPARTMENT_NAME, 201 as MANAGER_ID, 1800 as LOCATION_ID from dual) 
      minus select * from departments 
    ) from dual; 

ответ

1

Эта часть не будет компилироваться:

,LOCATION_ID (select * 

Это должно работа:

insert into departments(department_id, department_name, manager_id,location_id) 

      select 66,'Administration',200,1700 from dual 
union all select 77,'Marketing'  ,201,1800 from dual 
minus  select department_id, department_name, manager_id,location_id from departments 
+0

Cooooooll ................... Спасибо, что работает ... – vinod

+0

я задал тот же самый вопрос, для удаления можно плз посмотреть на это HTTP://stackoverflow.com/questions/41087642/dynamic-delete-in-oracle – vinod

Смежные вопросы