plsql 跳出本次循環進入下一次循環

DECLARE
  CURSOR c_shipres IS
    SELECT rosp.shipment_plan_id,
           rosp.contract_number, --合同號
           rosp.order_number,    --訂單號
           rosp.line_number,     --行號
           rosp.sub_inventory_name,
           rosp.mes_plan_weight,
           rosp.mes_plan_quantity
      FROM rz_om_shipment_plan_all rosp
     WHERE rosp.handle_state = 'S';
BEGIN

  FOR l_shipres IN c_shipres LOOP
    IF l_shipres.shipment_plan_id = 20130515001 THEN
      GOTO next_loop;
    END IF;
     dbms_output.put_line(l_shipres.shipment_plan_id);--當l_shipres.shipment_plan_id = 20130515001時,這條記錄不會打印出來,而是直接跳到循環下一個記錄
    <<next_loop>>
    NULL; --不可少
  END LOOP;
EXCEPTION
  WHEN OTHERS THEN
     dbms_output.put_line('exception');
  
END;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章