posted by 지긋이 2020. 7. 2. 10:02

DECLARE
  P_SQLCODE VARCHAR2(1000);  -- 오류 로그 기록을 위함
  P_SQLERRM VARCHAR2(1000);  -- 오류 로그 기록을 위함
  P_변수1 VARCHAR2(20);
  P_변수2 VARCHAR2(20);
BEGIN /*시작*/
FOR PER_CHG in(
                      select *
                      from 테이블명
                      WHERE 조건부
                      ) /* FOR문 안에는 ; 세미콜론이 들어가지 않는다. */ 
  Loop
  BEGIN
/* FOR문의 조회 데이터 파라미터를 이용한 프로시저 실행이나
 * insert/update/delete와 같은 DML 명령어 실행시 사용에 용의하다.
*/
                      P_PAPN_TPAP350_UPDATE(P_SQLCODE,P_SQLERRM,변수1,변수2,PER_CHG.변수a,PER_CHG.변수b); 
  EXCEPTION
  WHEN OTHERS THEN
/*화면 ERROR 로그 확인*/
  DBMS_OUTPUT.PUT_LINE( 'SABUN='||PER_CH.SABUN );
    P_SQLERRM := 'SABUN='||PER_CH.SABUN||'의 P_PAPN_TPAP350_UPDATE => ' || SQLERRM;
    P_COM_SET_LOG_NOCOMMIT('변수1,변수2','구분자','위치','SABUN='||PER_CH.SABUN ||SQLERRM,생성자);
  RETURN;
  END;
  END Loop;
END;