2016-09-05 7 views
0

xmlからデータを取り出してテーブルに挿入しています。しかし、私はまた、以下のXMLTABLEの表に、追加のデータSYSDATEを挿入する:Oracle SQL:XMLTableのパスにsysdateを渡す方法

sample XML data: 
<employee_info>        
<employee_id>ID1234</employee_id> 
<name>John</name> 
</employee_info> 

-- This is the query Notice at CREATED_ON : 

INSERT INTO TBL_EMPLOYEE TBL (TBL.EMP_ID, TBL.Name, TBL.Created_on) 
    SELECT x.* FROM XMLTABLE('/employee_info' 
         PASSING xmlData 
         COLUMNS EMP_ID VARCHAR2(10)  PATH 'employee_id',               
           Name VARCHAR2(50)  PATH 'name',                       
           CREATED_ON DATE  PATH '<created_on>sysdate</created_on>'); 

はどのようにして与えられたXMLサンプルの一部ではない列CREATED_ONsysdateを渡すことができます。助けてください。おかげであなたはSYSDATEの列を持つように、XMLレベルで操作する必要はありません

答えて

1

INSERT INTO tbl_employee tbl 
    (tbl.emp_id 
    ,tbl.name 
    ,tbl.created_on) 
SELECT t.emp_id, t.name, sysdate 
    FROM xmltable('/employee_info' 
       passing xmldata 
       columns 
         emp_id VARCHAR2(10) path 'employee_id', 
         NAME VARCHAR2(50) path 'name' 
       ) t; 
+0

おかげ@Marcin Wroblewski – user5005768

関連する問題