sdf

来源:互联网 发布:伊斯科马拉加数据 编辑:程序博客网 时间:2024/06/07 21:20
create or replace procedure proc1 as
 CURSOR cur IS select a.config_id, a.code, a.creation_date, a.last_update_date from table_a a, table_b b where a.config_id = b.config_id and a.last_update_date > b.last_update_date;
 CURSOR cur2 IS select * from table_a a where a.config_id not in (select config_id from table_b);
 p_code number; p_creation_date date;
 p_last_updat date;
 p_config_id varchar2(32);
begin
 FOR cur_result in cur
 LOOP
  p_code := cur_result.code;
  p_creation_date := cur_result.creation_date;
  p_last_updat := cur_result.last_update_date;
  p_config_id := cur_result.config_id;
  
  update table_b set code=p_code, creation_date=p_creation_date, last_update_date=p_last_updat where config_id = p_config_id;
 END LOOP;
 
 FOR cur_result2 in cur2
 LOOP
  p_code := cur_result2.code;
  p_creation_date := cur_result2.creation_date;
  p_last_updat := cur_result2.last_update_date;
  p_config_id := cur_result2.config_id;
  
  insert into table_b(config_id, code, creation_date, last_update_date) values(p_config_id, p_code, p_creation_date, p_last_updat) ;
 END LOOP;
 commit;
0 0
原创粉丝点击