基本的Oracle触发器不起作用

时间:2016-04-06 20:37:05

标签: sql oracle triggers

我对sql很缺乏经验,而且我有一个非常基本的触发器。基本上,我想确保在首次插入记录时将TOTAL设置为0。总数是一个数字(9,2)

 create or replace trigger TOTAL_INIT before insert on BILL For each row
 Begin
   :NEW.TOTAL := 0;
 end;

当我插入时,它没有将TOTAL设置为0,我不知道为什么。

1 个答案:

答案 0 :(得分:1)

这个怎么样?

alter table bill modify total number(9, 2) default 0;

不可否认,这不是完全相同。您的代码将覆盖显式提供的值,而当没有提供显式值时,这会将值设置为0.

但是,您可能不需要触发器。