개발자 Q&A

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

2025.07.02 14:22

pg_send_execute 함수 사용에 대한 질문

목록
  • 디자인패턴마스터 14일 전 2025.07.02 14:22
  • 46
    1
제가 PostgreSQL에서 PL/pgSQL을 사용하여 함수를 작성 중인데, pg_send_execute 함수를 사용하여 쿼리를 실행하는 방법에 대해 궁금합니다.

pg_send_execute 함수의 매개변수 중에서 'params'를 사용하여 파라미터를 전달하는 방법을 알려주세요. 예를 들어, 'params'의 데이터 타입이 무엇인지, 그리고 'params'를 사용하여 전달하는 쿼리의 예를 알려주세요.

다음은 예시 쿼리입니다.
sql

CREATE OR REPLACE FUNCTION my_function(p_name text, p_age integer)

RETURNS void AS $$

BEGIN

    EXECUTE 'INSERT INTO users (name, age) VALUES ($1, $2)';

END;

$$ LANGUAGE plpgsql;


위의 쿼리에서 'params'를 사용하여 파라미터를 전달하는 방법을 알려주세요.

    댓글목록

    profile_image
    나우호스팅  14일 전



    pg_send_execute 함수는 PostgreSQL에서 PL/pgSQL 함수를 호출할 때 사용됩니다. 이 함수의 매개변수 중 \'params\'는 쿼리에서 사용하는 파라미터를 전달하는 데 사용됩니다.

    \'params\'의 데이터 타입은 array 타입입니다. array 타입은 PostgreSQL에서 여러 개의 값을 한 번에 전달할 수 있는 데이터 타입입니다.

    예를 들어, 위의 쿼리에서 \'params\'를 사용하여 파라미터를 전달하는 방법은 다음과 같습니다.

    sql
    
    CREATE OR REPLACE FUNCTION my_function(p_name text, p_age integer)
    
    RETURNS void AS $$
    
    DECLARE
    
        params text[];
    
    BEGIN
    
        params := array[p_name, p_age::text];
    
        PERFORM pg_send_execute('INSERT INTO users (name, age) VALUES ($1, $2)', params);
    
    END;
    
    $$ LANGUAGE plpgsql;
    
    


    위의 예제에서 \'params\'는 array 타입으로 선언되어 있습니다. array 타입은 p_name과 p_age의 값을 포함하고 있습니다. pg_send_execute 함수의 두 번째 매개변수인 \'params\'는 이 array 타입을 전달합니다.

    pg_send_execute 함수의 첫 번째 매개변수인 \'sql\'는 쿼리 문자열을 전달합니다. 쿼리 문자열은 \'INSERT INTO users (name, age) VALUES ($1, $2)\'입니다. 이 쿼리 문자열은 \'params\'를 사용하여 파라미터를 전달합니다.

    pg_send_execute 함수를 호출할 때 \'params\'를 사용하여 파라미터를 전달하는 방법은 다음과 같습니다.

    sql
    
    SELECT my_function('John', 30);
    
    


    위의 예제에서 \'my_function\' 함수를 호출할 때 \'John\'과 30을 \'params\'로 전달합니다. \'params\'는 array 타입으로 선언되어 있습니다. array 타입은 \'John\'과 30의 값을 포함하고 있습니다. pg_send_execute 함수의 두 번째 매개변수인 \'params\'는 이 array 타입을 전달합니다.

    2025-07-02 14:23

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

검색

게시물 검색