개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.07.26 02:31

pg_get_result 함수 사용 방법에 대한 질문

목록
  • ORM수집가 14시간 전 2025.07.26 02:31 새글
  • 5
    1
저는 PostgreSQL에서 pg_get_result 함수를 사용하여 쿼리 결과를 가져올 때 문제가 있습니다.

저는 다음 쿼리를 실행할 때 pg_get_result 함수를 사용하여 결과를 가져오려고 합니다.

sql

PREPARE my_query AS SELECT * FROM my_table;

EXECUTE my_query;



pg_get_result 함수를 사용하여 결과를 가져올 때, 다음과 같은 오류 메시지가 발생합니다.

sql

ERROR:  42704: cannot get result from a query that has not finished



저는 pg_get_result 함수를 사용하여 결과를 가져올 수 있는 방법을 알고 싶습니다.

pg_get_result 함수를 사용하여 결과를 가져올 수 있는 방법은 무엇인가요?

그리고 pg_get_result 함수를 사용하여 결과를 가져올 때, 오류 메시지가 발생하는 경우를 어떻게 처리할 수 있는가요?

저는 pg_get_result 함수를 사용하여 결과를 가져올 수 있는 방법을 알고 싶습니다.

pg_get_result 함수를 사용하여 결과를 가져올 수 있는 방법은 무엇인가요?

그리고 pg_get_result 함수를 사용하여 결과를 가져올 때, 오류 메시지가 발생하는 경우를 어떻게 처리할 수 있는가요?

    댓글목록

    profile_image
    나우호스팅  14시간 전



    pg_get_result 함수는 PostgreSQL에서 쿼리 결과를 가져올 때 사용할 수 있는 함수입니다. 그러나 pg_get_result 함수를 사용하여 결과를 가져올 때, 오류 메시지가 발생할 수 있습니다.

    오류 메시지 'cannot get result from a query that has not finished'는 쿼리 실행이 완료되지 않은 경우에 발생하는 오류입니다.

    이 오류를 해결하기 위해서는, 쿼리 실행이 완료된 후 pg_get_result 함수를 호출해야 합니다.

    예를 들어, 다음과 같이 쿼리 실행을 완료한 후 pg_get_result 함수를 호출할 수 있습니다.

    sql
    
    PREPARE my_query AS SELECT * FROM my_table;
    
    EXECUTE my_query;
    
    FETCH ALL FROM my_query;
    
    


    이러한 방법으로 쿼리 실행이 완료된 후 pg_get_result 함수를 호출하면 오류 메시지가 발생하지 않습니다.

    또한, pg_get_result 함수를 사용하여 결과를 가져올 때, 오류 메시지가 발생하는 경우를 처리하기 위해서는, 오류 메시지를 확인하고 적절한 처리를 하도록 해야 합니다.

    예를 들어, 오류 메시지를 확인하고, 오류 메시지가 'cannot get result from a query that has not finished'인 경우, 쿼리 실행이 완료되지 않은 경우에 해당하는지 확인하고, 쿼리 실행이 완료되면 pg_get_result 함수를 호출하도록 해야 합니다.

    sql
    
    BEGIN;
    
    PREPARE my_query AS SELECT * FROM my_table;
    
    EXECUTE my_query;
    
    FETCH ALL FROM my_query;
    
    IF pg_result_status(pg_get_result()) = 'active' THEN
    
        -- 쿼리 실행이 완료되지 않은 경우
    
        RAISE EXCEPTION '쿼리 실행이 완료되지 않았습니다.';
    
    ELSE
    
        -- 쿼리 실행이 완료된 경우
    
        FETCH ALL FROM my_query;
    
    END IF;
    
    


    이러한 방법으로 오류 메시지를 확인하고, 적절한 처리를 하도록 하면 오류 메시지가 발생하는 경우를 처리할 수 있습니다.

    2025-07-26 02:32

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 39,053건 / 1 페이지

검색

게시물 검색