我有一张包含一些记录的表格。
我想在此表中添加TIMESTAMP
类型的列(LAST_MODIFIED
)。我想将此新列的DEFAULT
值设置为SYSDATE
。
但我想确保在添加此列时,现有记录不会将此列值作为SYSDATE
。怎么做到这一点?
答案 0 :(得分:3)
您应该将其作为两个单独的操作:添加列并设置默认值。
SQL> create table some_data (id integer);
Table created
SQL> insert into some_data select rownum from dual connect by level <= 5;
5 rows inserted
SQL> alter table some_data add date_modified date;
Table altered
SQL> alter table some_data modify date_modified default sysdate;
Table altered
SQL> insert into some_data (id) values (6);
1 row inserted
SQL> select * from some_data;
ID DATE_MODIFIED
--------------------------------------- -------------
1
2
3
4
5
6 17.03.2015
6 rows selected