Oracle SQL:如何在 XMLTable 的路径中传递 sysdate
Oracle SQL: how to pass sysdate in path of XMLTable
我正在从 xml 中检索数据以插入 table。但我还想在以下 xmltable table:
中插入一个额外的数据系统日期
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_ON
上的 sysdate
。请帮忙。谢谢
您无需在 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;
我正在从 xml 中检索数据以插入 table。但我还想在以下 xmltable table:
中插入一个额外的数据系统日期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_ON
上的 sysdate
。请帮忙。谢谢
您无需在 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;