Oracle将日期列添加到现有表(默认为仅限sysdate新行)

Nea*_*ers 7 sql oracle oracle10g

有没有办法添加DATE_CREATED列,比如只有新行才能获取默认的sysdate?当我运行下面的ALTER时,所有先行行都将DATE_CREATED设置为ALTER脚本的运行时间; 我希望它们保持为空.

alter table abc.mytable
  add 
    (DATE_CREATED        date   default sysdate null
    ); 
Run Code Online (Sandbox Code Playgroud)

a_h*_*ame 19

您需要先添加没有默认值的列:

alter table mytable add date_created date default null;
Run Code Online (Sandbox Code Playgroud)

然后添加define默认值:

alter table mytable modify date_created default sysdate;
Run Code Online (Sandbox Code Playgroud)