2016-09-05 6 views
0

Я извлекаю данные из xml для вставки в таблицу. Но я также хочу, чтобы вставить дополнительный SYSDATE данных, чтобы следующая XMLTable таблицы:Oracle SQL: как передать sysdate в пути XMLTable

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

Как я могу передать sysdate на колонке CREATED_ON, которая не является частью данного образца XML. Пожалуйста помоги. Благодаря

ответ

1

Вам не нужно работать на уровне XML, чтобы иметь колонку с SYSDATE:

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 Вроблевский – user5005768