CREATE OR REPLACE TRIGGER tri_del_depre before delete on dev_depre declare ls_max_month varchar2(6); begin select max(depre_mon) into ls_max_month from dev_depre; end;
用表级触发,去掉for each row
3楼的前辈能否解释一下为啥把for each给去掉了?
去掉for each row 试试
for each row 表示行级触发,在你delete记录时,表在行上会发生变化,这时取和行相关的数据时是不正确的。也是ORACLE中不允许的
declare
ls_max_month varchar2(6);
begin
select max(depre_mon) into ls_max_month from dev_depre;
end;
试试