我对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,我不知道为什么。
答案 0 :(得分:1)
这个怎么样?
alter table bill modify total number(9, 2) default 0;
不可否认,这不是完全相同。您的代码将覆盖显式提供的值,而当没有提供显式值时,这会将值设置为0.
但是,您可能不需要触发器。