시작하기무료로 시작하기

DO 문 작성하기

데이터를 정제하다 보면 잘못된 날짜가 포함된 데이터를 자주 만나게 됩니다. 이로 인해 예외가 발생하고 SQL 문이 중단될 수 있습니다. 하지만 예외 처리기가 있는 DO 함수를 사용하면 문을 끝까지 실행할 수 있어요. patients 테이블의 created_on 열에서 이런 유형의 예외를 어떻게 처리할 수 있는지 살펴보겠습니다. 이를 통해 DO 스타일의 함수를 사용하는 연습도 해봅니다.

이 연습은 강의의 일부입니다

PostgreSQL에서의 트랜잭션과 오류 처리

강의 보기

연습 안내

  • 예외 포착을 시작하기 위해 DO 함수를 만드세요.
  • 트랜잭션을 BEGIN 한 후, patients에 행을 INSERT하세요 (a1c = 5.8, glucose = 89, fasting = TRUE, created_on = '37-03-2020 01:15:54').
  • 오류가 발생할 경우 errors 테이블의 detail 열에 'bad date'를 삽입하는 EXCEPTION 처리기를 추가하세요.
  • 언어는 'plpgsql'로 지정하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

-- Create a DO $$ function
____ ____
-- BEGIN a transaction block
BEGIN 
    INSERT INTO patients (a1c, glucose, fasting, created_on) 
    VALUES (____, ____, ____, '37-03-2020 01:15:54');
-- Add an EXCEPTION
___
-- For all all other type of errors
WHEN others THEN 
    INSERT INTO errors (msg, detail) 
    VALUES ('failed to insert', '____');
END;
-- Make sure to specify the language
$$ language '____';

-- Select all the errors recorded
SELECT * FROM errors;
코드 편집 및 실행