oracle添加默认值列后续插入的才应用默认值

Oracle admin 110℃ 0评论

GPS平台、网站建设、软件开发、系统运维,找森大网络科技!
https://cnsendnet.taobao.com
来自森大科技官方博客
http://www.cnsendblog.com/index.php/?p=1192

 

ORACLE 11203,
对表新加一个时间字段,同时默认值为SYSDATE,我的本意是,原来的不管,后续插入记录时,使用SYSDATE记录插入时间。结果新增字段时,ORACLE却把原先表里存在的30万行记录也加上
这个时间点.
ORACLE 什么思路,莫名其妙,,,

Oracle还没那么智能,它无法判断出你的本意—“我的本意是,原来的不管,后续插入记录时,使用SYSDATE记录插入时间。”
因为有些人的本意可能会是:不管是原来的已有的数据还是后续插入记录时,都是使用SYSDATE记录插入时间。

按照LZ的本意,大可以先添加新列,在添加默认值。
SQL> alter table xxx add dtime date;
SQL> alter table xxx modify dtime default sysdate;

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

mysql>
mysql> select * from dual;
+——————————————————————————–+
| 坐而论道,必先有术。不学无术而论道者,穷则独欺其身,达则兼害天下。 |
+——————————————————————————–+
1 row in set (0.02 sec)

 

GPS平台、网站建设、软件开发、系统运维,找森大网络科技!
https://cnsendnet.taobao.com
来自森大科技官方博客
http://www.cnsendblog.com/index.php/?p=1192

转载请注明:森大科技官方博客 » oracle添加默认值列后续插入的才应用默认值

喜欢 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址