새소식

DB

[Postgresql] 함수 exception에서 continue 효과 내기

728x90

아씌 insert 하는데 어떤 멍청한 데이터가 있어서

자꾸 exception이 났습니다.

exception이 나면 장애 상황이므로 신경이 쓰이더군요.

 

따라서, exception이 난 데이터는 무시하고

다음 작업으로 이어가길 원했습니다.

 

방법은 다음과 같습니다.

핵심은 Exception 부분에 WHEN OTHERS THEN입니다.

저렇게 기술하시면 함수에서 exception 발생 시 무시하고 다시 루프를 돕니당

DECLARE
	create_date TIMESTAMP = now();
    
BEGIN
 -- Open the cursor
 OPEN cur_dl;
  
 LOOP
 
 BEGIN

   -- fetch row into the cur_dl
   FETCH cur_dl INTO rec_dl;

   -- exit when no more row to fetch
  EXIT WHEN NOT FOUND;

  INSERT INTO test(
    create_date,
  	created_by,
  	last_update_date,
  	last_updated_by,
  )
  VALUES (
    create_date,
    'pikachooo!',
    create_date,
    'pikachooo!',
  );
 
  EXCEPTION
   WHEN OTHERS THEN
  END;

 END LOOP;
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.