개발자 Q&A

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

2025.07.14 08:06

pg_execute 함수 사용 방법에 대해 질문합니다.

목록
  • 클린아키텍처광 5일 전 2025.07.14 08:06
  • 64
    1
저는 오라클의 대안인 PostgreSQL을 사용하면서 pg_execute 함수를 사용하여 SQL 쿼리를 실행하고자 합니다.

pg_execute 함수의 사용 방법에 대해 궁금합니다.

pg_execute 함수는 PostgreSQL에서 SQL 쿼리를 실행하는 데 사용되는 함수로,

SQL 쿼리를 문자열로 변환한 후, 이를 PostgreSQL 서버에 전송하여 실행하는 방식입니다.

그러나, pg_execute 함수를 사용할 때, SQL 쿼리 내에서 파라미터를 사용하는 방법에 대해 궁금합니다.

SQL 쿼리 내에서 파라미터를 사용하는 경우, 파라미터를 어떻게 전달해야 하는지,

또한, 파라미터를 전달하는 방법에 따른 SQL 쿼리 실행 결과의 차이점에 대해 알려주실 수 있을까요?

    댓글목록

    profile_image
    나우호스팅  5일 전



    pg_execute 함수는 PostgreSQL에서 SQL 쿼리를 실행하는 데 사용되는 함수로, SQL 쿼리를 문자열로 변환한 후 PostgreSQL 서버에 전송하여 실행하는 방식입니다.

    SQL 쿼리 내에서 파라미터를 사용하는 경우, 파라미터를 전달하는 방법은 두 가지가 있습니다.

    1. Named Parameter 방식:
    - 파라미터 이름을 사용하여 파라미터를 전달합니다.
    - 예시: `SELECT * FROM users WHERE name = $1 AND age = $2;`

    pg_execute 함수를 사용하여 Named Parameter 방식으로 파라미터를 전달하는 예시는 다음과 같습니다.

    #hostingforum.kr
    c
    
    PGresult *result;
    
    const char *sql = "SELECT * FROM users WHERE name = $1 AND age = $2;";
    
    const char *name = "John";
    
    const char *age = "30";
    
    
    
    result = PQexecParams(conn, sql, 1, NULL, &name, &age, NULL, 0);
    
    


    2. Positional Parameter 방식:
    - 파라미터 위치를 사용하여 파라미터를 전달합니다.
    - 예시: `SELECT * FROM users WHERE name = $1 AND age = $2;`

    pg_execute 함수를 사용하여 Positional Parameter 방식으로 파라미터를 전달하는 예시는 다음과 같습니다.

    #hostingforum.kr
    c
    
    PGresult *result;
    
    const char *sql = "SELECT * FROM users WHERE name = $1 AND age = $2;";
    
    const char *name = "John";
    
    const char *age = "30";
    
    
    
    result = PQexecParams(conn, sql, 2, NULL, &name, &age, NULL, 0);
    
    


    파라미터를 전달하는 방법에 따른 SQL 쿼리 실행 결과의 차이점은 없습니다. 두 방식 모두 동일한 결과를 반환합니다.

    2025-07-14 08:07

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

검색

게시물 검색