0

データベース Oracle に新しい行を挿入したいと思います。

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';

しかし、これを行う方法がわかりません。私を助けてください!ありがとう。

4

1 に答える 1

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);
于 2013-05-07T03:56:34.687 に答える