如何使用Oracle 10G更新数据类型时间戳中的列值

时间:2016-09-04 17:02:33

标签: sql oracle10g oracle-xe

使用数据类型时间戳

在update_time中添加一列

所以我需要在SQL命令行中使用Oracle 10G更新数据时更新时间戳值

SQL> ALTER TABLE TIME_STAMPTABLE ADD UPDATE_TIME TIMESTAMP 
           DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;

但我得到了:

  

第1行的错误:
  ORA-01735:ALTER TABLE选项无效

1 个答案:

答案 0 :(得分:0)

如Alex所述,oracle不支持此类语法,您需要在表格中创建如下所示的触发器。

SQL> ALTER TABLE TIME_STAMPTABLE ADD UPDATE_TIME TIMESTAMP ;

SQL> create or replace trigger upd_tim_stmp
before INSERT OR UPDATE on TIME_STAMPTABLE 
for each row
begin
:new.UPDATE_TIME:= CURRENT_TIMESTAMP;
end;
 /