ITPub博客

首页 > 数据库 > Oracle > EBS 循环处理块记录的代码

EBS 循环处理块记录的代码

Oracle 作者:贾三灌汤包 时间:2014-06-25 16:19:01 0 删除 编辑
decalre
  i number;
begin
  i := 0;
go_block('asg_employee'); --导航到数据块
first_record;  --焦点放到第一条记录上
loop
  i := i + 1;
  if i <> 1 then  --判断是否第一条记录,不是就处理小一条记录
   next_record;
 end if;

  update eju_assess_ledger_assignments  --更新数据
            set  assign_flag = :asg_employee.select_flag
   where person_id = :asg_employee.person_id
            and hs_name = :eju_assess_ledgers.hs_name;

if sql%rowcount = 0 then --如果不存在,就插入一条记录
    insert into eju_assess_ledger_assignments
   (person_id,hs_name,assign_flag)
   values(:asg_employee.person_id,:eju_assess_ledgers.hs_name,:asg_employee.select_flag);
end if;

  exit when :system.last_record  = 'TRUE'; --最后一条记录就退出

end loop;

do_key('commit_form’); --提交form上的数据
go_block('eju_assess_ledgers');
hide_window('EJU_WINDOW');
end;

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22816976/viewspace-1193526/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-11-03

  • 博文量
    128
  • 访问量
    294230