oracle 存储过程 for (多个循环语句调用)

来源:互联网 发布:360安全认证软件 编辑:程序博客网 时间:2024/05/21 12:50

在网上找了很多代码都是有问题的,所以自己记下自己写的代码,用于下次要用的时候直接复制过来调用,大家如果要用的话可以把模板拷贝过去,然后修改具体里面的细节


create or replace procedure deleteRepeatChoiceCourseData

as
 user_id varchar2(100);
 seme_course_id varchar2(100);
  /************选课的游标************/
 cursor choiceCourseCursor is
        select user_id,seme_cour_id from t_teach_choice_course
        group by user_id,seme_cour_id having count(1) >1;
        
 /*********缴费的游标********/
 cursor fiPaymentRecordCursor is
       select charge_item_id,student_id,course_seme_id from t_fi_payment_record
       group by charge_item_id,student_id,course_seme_id having count(1) > 1;
 /**********成绩的游标***************/
 cursor resultCursor is
      select user_id,seme_cour_id from t_teach_result
      group by user_id,seme_cour_id having count(1) >1;
begin
   /*****************循环执行选课表t_teach_choice_course 的重复数据start *********/
   dbms_output.put_line('************delete t_teach_choice_course data start***********');
   for choiceCourseTemp in choiceCourseCursor loop
      dbms_output.put_line(choiceCourseTemp.user_id||'**'||choiceCourseTemp.seme_cour_id);
   end loop;
   dbms_output.put_line('************delete t_teach_choice_course data start***********');
 
  /*****************循环执行缴费表 t_fi_payment_record 的重复数据start *********/
   dbms_output.put_line('************delete t_fi_payment_record data start***********');
   for fiPaymentRecordTemp in fiPaymentRecordCursor loop
       dbms_output.put_line(fiPaymentRecordTemp.student_id||'**'||fiPaymentRecordTemp.course_seme_id);
   end loop;
   dbms_output.put_line('************delete t_fi_payment_record data start***********');
 /*****************循环执行缴费表 t_fi_payment_record 的重复数据end***********/

 /*****************循环执行成绩表 t_teach_result 里面的重复数据start *********/
  dbms_output.put_line('************delete t_teach_results data start***********');
   for resultTemp in resultCursor loop
       dbms_output.put_line(resultCursor.user_id||'**'||resultCursor.seme_cour_id);
   end loop;
    dbms_output.put_line('************delete t_teach_results data start***********');
 /*****************循环执行成绩表 t_teach_results 里面的重复数据end***********/
 
end deleteRepeatChoiceCourseData;

0 0
原创粉丝点击