触发器在oracle2中相乘两列

create or replace trigger BAND_T BEFORE insert or update OF average_song_time, number_of_songs on BAND 

for each row

declare

average_song_time number;

number_of_songs number;

begin

if (:new.average_song_time * :new.number_of_songs > 100) ;

then

raise_application_error(error -2010'Play Time is too high');

end if;

end;

/

想要在Oracle2中将两列相乘,当两列的值达到一定数量时,我的触发器将被触发,只是想知道该代码出错的地方?触发器在oracle2中相乘两列

回答:

你做了几个错误(它不适合的分号,RAISE语句中的ERROR,这里没用的DECLARE部分)。

看看这样一个改进的代码是否满足您的需求。

create or replace trigger band_t 

before insert or update of average_song_time, number_of_songs

on band

for each row

begin

if :new.average_song_time * :new.number_of_songs > 100 then

raise_application_error(-20001, 'Play time is too high');

end if;

end;

/

以上是 触发器在oracle2中相乘两列 的全部内容, 来源链接: utcz.com/qa/267248.html

回到顶部