2013-05-07 6 views
0

Я хотел бы вставить новую строку в базу данных Oracle.
Вставить динамические значения в sql

INSERT INTO xx_vms.es_supplier_process_steps (process_step_id, supplier_process_id, supplier_step_id, 
mapped_item_type, mapped_subinventory_code, mapped_subinventory_type, mapped_operation_code, mapping_notes) 
VALUES (xx_vms.seq_es_supplier_proc_step_id.NEXTVAL, xx_vms.seq_es_supplier_proc_id.CURRVAL, 
xx_vms.seq_es_supplier_step_id.CURRVAL, 'ASY', null, 'IN', null, null); 

С колонке xx_vms.seq_es_supplier_proc_id.CURRVAL является результатом этого запроса ниже. Пример: 122:

select supplier_process_id from xx_vms.es_supplier_processes where supplier_code='TEST'and name='FINAL TEST'; 

Но я не знаю, как это сделать. Пожалуйста, помогите мне! Благодарю.

+0

пожалуйста, вы можете уточнить ваш вопрос немного больше? – ankurtr

+0

Я бы хотел заменить xx_vms.seq_es_supplier_proc_id.CURRVAL, потому что это неверно. Точное значение для этого столбца является результатом второго запроса. – duykaka

ответ

0

вы хотите использовать подзапрос для вставки

INSERT INTO xx_vms.es_supplier_process_steps 
     (process_step_id, 
     supplier_process_id, 
     supplier_step_id, 
     mapped_item_type, 
     mapped_subinventory_code, 
     mapped_subinventory_type, 
     mapped_operation_code, 
     mapping_notes) 
SELECT x_vms.seq_es_supplier_proc_step_id.NEXTVAL, 
     (select supplier_process_id 
     from xx_vms.es_supplier_processes 
     where supplier_code='TEST'and 
       name='FINAL TEST'), 
     xx_vms.seq_es_supplier_step_id.CURRVAL, 
     'ASY', 
     null, 
     'IN', 
     null, 
     null 
FROM DUAL); 
+0

Извините, я не могу понять этот запрос. – duykaka

+0

Я взял ваш запрос, отформатировал его, превратил в выбранную вставку (пример: http://stackoverflow.com/questions/25969/sql-insert-into-values-select-from) и заменил то, что вам нужно было запрос с вашим запросом. – hrezs

+0

Вам не кажется, что для инструкции SELECT требуется «FROM DUAL»? Кроме того, точка с запятой в конце внутреннего вспомогательного запроса неверна. – Noel

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