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;
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;
你新增的Group_id的值在這個范圍內?
上一个贴跟你讲过的啊。