
pg_send_execute 함수는 PL/pgSQL에서 쿼리를 실행하는 함수입니다. 이 함수는 변수를 선언하여 사용할 수 있습니다.
하지만, 위의 코드에서 사용한 방법은 올바르지 않습니다. pg_send_execute 함수는 쿼리를 실행하고 결과를 반환하는 함수입니다. 따라서, OPEN 문을 사용하여 refcursor를 선언하는 것은 올바르지 않습니다.
다음은 올바른 방법입니다.
sql
DO $$
DECLARE
v_sql text := 'SELECT * FROM users WHERE id = $1';
v_result text;
BEGIN
v_result := pg_send_execute(v_sql, 1);
RAISE NOTICE '%', v_result;
END $$;
위의 코드는 pg_send_execute 함수를 사용하여 쿼리를 실행하고 결과를 반환합니다. v_result 변수에 결과를 저장하고, RAISE NOTICE 문을 사용하여 결과를 출력합니다.
2025-04-09 07:14