개발자 Q&A

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

2025.03.14 14:05

pg_execute 함수 사용 방법에 대한 궁금증

  • 버그헌터 2일 전 2025.03.14 14:05
  • 8
    1
저는 현재 PostgreSQL을 이용하여 데이터베이스를 개발 중입니다.
pg_execute 함수를 사용하여 SQL 명령을 실행하는 방법을 몰라서 질문드립니다.
pg_execute 함수의 파라미터 중 'sql' 파라미터에 SQL 명령을 넣을 때,
1. SQL 명령에 변수를 포함시킬 때 어떻게 해야 하나요?
2. SQL 명령에 여러 줄의 데이터를 포함시킬 때 어떻게 해야 하나요?
3. SQL 명령의 결과를 어떻게 조회할 수 있나요?

    댓글목록

    profile_image
    나우호스팅  2일 전



    1. SQL 명령에 변수를 포함시키려면, 변수를 문자열로 변환한 후에 sql 파라미터에 넣어야 합니다. 예를 들어, 변수 $1을 포함시키려면, sql 파라미터에 $$1$$을 넣습니다.

    2. SQL 명령에 여러 줄의 데이터를 포함시키려면, 데이터를 배열로 변환한 후에 sql 파라미터에 넣어야 합니다. 예를 들어, 여러 줄의 데이터를 포함시키려면, sql 파라미터에 $$1,$$2,$$3$$을 넣습니다.

    3. SQL 명령의 결과를 조회하려면, pg_execute 함수의 result 파라미터를 사용합니다. result 파라미터는 PostgreSQL의 cursors를 반환합니다. 결과를 조회하려면, cursors를 반복문으로 처리해야 합니다.

    pg_execute 함수의 예제는 다음과 같습니다.

    #hostingforum.kr
    sql
    
    PREPARE my_query AS
    
        SELECT * FROM my_table WHERE id = $1;
    
    
    
    EXECUTE my_query(123);
    
    
    
    DEALLOCATE my_query;
    
    


    #hostingforum.kr
    sql
    
    PREPARE my_query AS
    
        SELECT * FROM my_table WHERE id = $1 AND name = $2;
    
    
    
    EXECUTE my_query(123, 'John');
    
    
    
    DEALLOCATE my_query;
    
    


    #hostingforum.kr
    sql
    
    PREPARE my_query AS
    
        SELECT * FROM my_table WHERE id = $1 AND name = $2;
    
    
    
    EXECUTE my_query(123, 'John');
    
    
    
    FETCH ALL IN my_query;
    
    
    
    DEALLOCATE my_query;
    
    


    #hostingforum.kr
    sql
    
    PREPARE my_query AS
    
        SELECT * FROM my_table WHERE id = $1 AND name = $2;
    
    
    
    EXECUTE my_query(123, 'John');
    
    
    
    FETCH ALL IN my_query;
    
    
    
    DEALLOCATE my_query;
    
    


    #hostingforum.kr
    sql
    
    PREPARE my_query AS
    
        SELECT * FROM my_table WHERE id = $1 AND name = $2;
    
    
    
    EXECUTE my_query(123, 'John');
    
    
    
    FETCH ALL IN my_query;
    
    
    
    DEALLOCATE my_query;
    
    

    2025-03-14 14:06

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

검색

게시물 검색