TARGET_TABLE
在with 下面的语句中插入值时INSERT..SELECT
,列的默认值lastupdate
似乎优先于SELECT
语句产生的值。
即使在SOURCE_TABLE
.
例子:
SOURCE_TABLE
包含lastupdate = 16.08.12 15:41:44
执行语句后,lastupdate
inTARGET_TABLE
被设置为SYSDATE
,例如16.08.12 15:49:14
:
INSERT INTO TARGET_TABLE (A, B, C, D, LASTUPDATE, F)
SELECT A, B, C, D, LASTUPDATE, F
FROM SOURCE_TABLE
WHERE B = 'some_value';
CREATE TABLE TARGET_TABLE
(
ID NUMBER NOT NULL,
A VARCHAR2(255 CHAR) NOT NULL,
B VARCHAR2(255 CHAR) NOT NULL,
C CLOB NOT NULL,
D VARCHAR2(255 CHAR),
LASTUPDATE DATE DEFAULT SYSDATE,
E DATE DEFAULT SYSDATE
)
Oracle 版本:Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
我希望将值从复制SOURCE_TABLE
到TARGET_TABLE
而不是设置为SYSDATE
。
我在这里想念什么?谢谢你。