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

标签 sql oracle oracle10g

有没有办法添加列 DATE_CREATED 例如只有新行会选择默认的系统日期?当我运行下面的 ALTER 时,所有先验行都将 DATE_CREATED 设置为 ALTER 脚本的运行时;我希望它们保持为空。

alter table abc.mytable
  add 
    (DATE_CREATED        date   default sysdate null
    ); 

最佳答案

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

alter table mytable add date_created date default null;

然后添加定义默认值:
alter table mytable modify date_created default sysdate;

关于sql - Oracle 将日期列添加到现有表(默认为仅 sysdate 新行),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30334933/

相关文章:

sql - 如何获得两个日期之间的确切月数?

database - 如何在触发器内引发异常?有没有办法做到这一点?

sql - Oracle 过程错误 (PLS-00428)

sql - 将 select 方法与第一个方法组合返回错误 rails 4

mysql - 一个 SELECT 中的多个 SUM

php - 使用php插入mysql

mysql - 运算符与 ">="& "<="运算符之间的 SQL 差异

sql - ORACLE SQL : Need to sum two values, 但可能不存在...这可能吗?

sql - Oracle 对软删除实现约束