본문 바로가기
IT/PostgreSQL

[PostgreSQL] - 포스트그레 Procedure(프로시저), Function(함수)에서 STRICT 키워드를 사용해서 NO_DATA_FOUND 사용법(+ TOO_MANY_ROWS)

by 차이나는 개발자 2022. 8. 23.
728x90
반응형

#포스트그레 Procedure(프로시저), Function(함수)에서 STRICT 키워드를 사용해서 NO_DATA_FOUND 사용법(+ TOO_MANY_ROWS)

 

 

#STRICT 키워드를 사용해서 SELECT절의 조회결과가 없거나(NO_DATA_FOUND)

1건 이상(TOO_MANY_ROWS)일 경우 EXCEPTION을 발생시킬 수 있습니다.

 

 

#STRICT 키워드를 사용한 FUNCTION 생성 쿼리입니다.

CREATE OR REPLACE FUNCTION GET_COUNTRY()
RETURNS SMALLINT
AS
$$
DECLARE C_ID SMALLINT;
BEGIN
     SELECT COUNTRY_ID INTO STRICT C_ID FROM CITY
     WHERE CITY LIKE 'Z%';
     RETURN C_ID;
     EXCEPTION
     	WHEN NO_DATA_FOUND THEN
               RAISE EXCEPTION 'NO_DATA_FOUND';
     	WHEN TOO_MANY_ROWS THEN
               RAISE EXCEPTION 'MORE THAN ONE ROW RETURNED IN QUERY RESULT SET.';
END;
$$ LANGUAGE PLPGSQL

 

 

 

728x90
반응형

댓글