這個觸發器為什么不能觸發

girl5201314 2008-09-02 03:18:20
CREATE OR REPLACE TRIGGER EF_STANDARD_WORK_T
AFTER INSERT OR UPDATE of standard_work_time ON EF_STANDARD_WORK_HOURS
REFERENCING NEW AS New OLD AS Old
FOR EACH ROW
WHEN (NEW.GROUP_ID IN (18,19,23,25,27))
DECLARE
Partno varchar(20);
standard_time number(8);
CURSOR C_partno(p_model varchar,ss varchar) is select PART_NO from inv_pn where model=trim(p_model) and SUBSTR (part_no, 1, 2)=trim(ss);
BEGIN
if :new.group_id in (18,19,23) then
select sum(standard_work_time) into standard_time from ef_standard_work_hours where model=:new.model and group_id in (18,19,23);
OPEN c_partno(:new.model,'70');
fetch c_partno into partno;
while c_partno%found
loop
insert into ef_standard_work values (ERP_STANDARD_WORK_sequence.nextval,:new.model,partno,standard_time,3,sysdate,sysdate,0);
fetch c_partno into partno;
end loop;
close c_partno;
else
begin
select sum(standard_work_time) into standard_time from ef_standard_work_hours where model=:new.model and group_id in (25,27);
OPEN c_partno(:new.model,'95');
fetch c_partno into partno;
while c_partno%found
loop
insert into ef_standard_work values (ERP_STANDARD_WORK_sequence.nextval,:new.model,partno,standard_time,3,sysdate,sysdate,0);
fetch c_partno into partno;
end loop;
close c_partno;
end;
end if;

EXCEPTION
WHEN OTHERS THEN
null;
END;



...全文
57 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
girl5201314 2008-09-02
  • 打赏
  • 举报
回复
那你也早點說清楚,怎么改?
oracledbalgtu 2008-09-02
  • 打赏
  • 举报
回复
行级(FOR EACH ROW)触发器不能在触发器中引用触发表的。
上一个贴跟你讲过的啊。


[Quote=引用楼主 girl5201314 的帖子:]
CREATE OR REPLACE TRIGGER EF_STANDARD_WORK_T
AFTER INSERT OR UPDATE of standard_work_time ON EF_STANDARD_WORK_HOURS
REFERENCING NEW AS New OLD AS Old
FOR EACH ROW
WHEN (NEW.GROUP_ID IN (18,19,23,25,27))
DECLARE
Partno varchar(20);
standard_time number(8);
CURSOR C_partno(p_model varchar,ss varchar) is select PART_NO from inv_pn where model=trim(p_model) and SUBSTR (part_no, 1…
[/Quote]
ybkenan 2008-09-02
  • 打赏
  • 举报
回复
WHEN (NEW.GROUP_ID IN (18,19,23,25,27))
你新增的Group_id的值在這個范圍內?

17,382

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧