제공된 오류: "ERROR: 42601: "레코드"를 반환하는 함수에 열 정의 목록이 필요합니다. 이는 PostgreSQL 함수를 생성할 때 일반적으로 발생합니다. 열 구조를 명시적으로 정의하지 않고 레코드를 반환하려고 합니다.
이 오류를 해결하려면 RETURNS TABLE 구문을 사용하여 테이블의 구조를 지정하세요. 함수에 의해 반환되는 데이터입니다. 예는 다음과 같습니다.
CREATE OR REPLACE FUNCTION get_user_by_username( username VARCHAR(250), online BOOLEAN ) RETURNS TABLE ( user_id INTEGER, user_name VARCHAR(250), last_activity TIMESTAMP ) AS $$ ...
이 예에서 get_user_by_username 함수는 user_id, user_name 및 last_activity라는 세 개의 열이 있는 테이블을 반환합니다.
또는 특정 항목을 지정할 수도 있습니다. 다음과 같이 RETURNS SETOF를 사용하여 함수에 의해 반환된 열:
CREATE OR REPLACE FUNCTION get_user_by_username( username VARCHAR(250), online BOOLEAN ) RETURNS SETOF ( user_id INTEGER, user_name VARCHAR(250), last_activity TIMESTAMP ) AS $$ ...
다음은 염두에 두어야 할 몇 가지 추가 고려 사항입니다.
위 내용은 PostgreSQL에서 오류 42601: ''레코드'를 반환하는 함수에는 열 정의 목록이 필요합니다'가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!