我正在使用 SQL Loader 读取一个管道分隔文件,并希望在我正在填充的表中填充 LAST_UPDATED 字段。我的控制文件如下所示:
LOAD DATA
INFILE SampleFile.dat
REPLACE
INTO TABLE contact
FIELDS TERMINATED BY '|'
OPTIONALLY ENCLOSED BY '"'
(
ID,
FIRST_NAME,
LAST_NAME,
EMAIL,
DEPARTMENT_ID,
LAST_UPDATED SYSTIMESTAMP
)
对于 LAST_UPDATED 字段,我尝试过 SYSTIMESTAMP 和 CURRENT_TIMESTAMP 但都不起作用。然而 SYSDATE 工作正常,但没有给我一天中的时间。
我是 SQL Loader 的新手,所以我对它的功能知之甚少。谢谢。
您是否尝试过以下操作:
CURRENT_TIMESTAMP [(精度)]
select current_timestamp(3) from dual;
CURRENT_TIMESTAMP(3)
-----------------------------
10-JUL-04 19.11.12.686 +01:00
要在 SQLLDR 中执行此操作,您需要在 CTL 文件中使用 EXPRESSION,以便 SQLLDR 知道将调用视为 SQL。
Replace:
LAST_UPDATED SYSTIMESTAMP
with:
LAST_UPDATED EXPRESSION "current_timestamp(3)"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)