我有一个将插入 xmltype 列的存储过程。该列引用具有日期时间类型列的模式。日期需要这样格式化:YYYY-MM-DD"T"HH24:MI:SS
通过匿名块对其进行测试,我可以发出 ALTER SESSION 将时间格式更改为当前会话
alter session set nls_timestamp_format = 'YYYY-MM-DD"T"HH24:MI:SS';
insert into table1 (id, xmlcolumn) values (1, updatexml(
'/root/order/id/text()', p_order_id,
'/root/order/date/text()', to_timestamp(sysdate,'DD-MON-RRRRHH:MI:SS.FF')
));
不过,将其移至存储过程,Oracle 阻止我使用 ALTER SESSION,我尝试过:
DBMS_SESSION.SET_NLS('nls_timestamp_format','YYYY-MM-DD"T"HH24:MI:SS');
但 SQL Developer 说选项无效。
我对 Oracle 很陌生(作为 SQL DB 开发人员),关于如何设置时间格式的任何指示?
提前致谢