[SQL] SQL 쿼리와 기능 결과 데이터에 대한 대상이 없습니다
SQLSQL 쿼리와 기능 결과 데이터에 대한 대상이 없습니다
내가 선택한 결과 집합을 반환하는 함수를 만들려고하고 있습니다. 내 포스트 그레스는 tst_dates_func (에서이 선택 * 같은 기능을 호출하면 아래와 같이) 오류가 발생합니다 :
ERROR: query has no destination for result data
HINT: If you want to discard the results of a SELECT, use PERFORM instead.
CONTEXT: PL/pgSQL function "tst_dates_func" line 3 at SQL statement
********** Error **********
ERROR: query has no destination for result data
SQL state: 42601
Hint: If you want to discard the results of a SELECT, use PERFORM instead.
Context: PL/pgSQL function "tst_dates_func" line 3 at SQL statement
여기에 내가 만든 함수입니다 :
CREATE OR REPLACE FUNCTION tst_dates_func()
RETURNS TABLE( date_value date, date_id int, date_desc varchar) as
$BODY$
BEGIN
select a.date_value, a.date_id, a.date_desc from dates_tbl a;
END;
$BODY$
LANGUAGE plpgsql;
나는 위의 오류를 얻고있다 이유를 모르겠습니다. 나는 tst_dates_func에서 선택 * ()를 실행하고 싶습니다; 다시 데이터를 얻을. 필요한 경우 또는 추가 결과 집합을 가입 할 수 있습니다. 문제는 여기에 무엇입니까?
해결법
-
==============================
1.일반 SQL로 수행
일반 SQL로 수행
CREATE OR REPLACE FUNCTION tst_dates_func() RETURNS TABLE( date_value date, date_id int, date_desc varchar) as $BODY$ select a.date_value, a.date_id, a.date_desc from dates_tbl a; $BODY$ LANGUAGE sql;
당신은 정말 plpgsql 사용 반환 쿼리가 필요한 경우
CREATE OR REPLACE FUNCTION tst_dates_func() RETURNS TABLE( date_value date, date_id int, date_desc varchar) as $BODY$ BEGIN perform SELECT dblink_connect('remote_db'); return query select a.date_value, a.date_id, a.date_desc from dates_tbl a; END; $BODY$ LANGUAGE plpgsql;
-
==============================
2.
In PLPGSQL - use RETURN QUERY CREATE OR REPLACE FUNCTION tst_dates_func() RETURNS TABLE( date_value date, date_id int, date_desc varchar) as $BODY$ BEGIN RETURN QUERY (select a.date_value, a.date_id, a.date_desc from dates_tbl a); END; $BODY$ LANGUAGE plpgsql;
from https://stackoverflow.com/questions/16964790/function-with-sql-query-has-no-destination-for-result-data by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 어떻게 테이블 데이터를 반환, 자바 / JSP에서 MS SQL Server 저장 프로 시저를 실행합니까? (0) | 2020.06.06 |
---|---|
[SQL] "NOT IN"사용하여 SQL 쿼리 LINQ (0) | 2020.06.06 |
[SQL] `alias` ...`alias`.`column` ... 왜 구문 오류 AS table``에서 삭제? (0) | 2020.06.06 |
[SQL] 값이 이미 피할 중복에 존재하는지 확인하는 방법? (0) | 2020.06.06 |
[SQL] 오라클 11g - 정규식 체크 제약 조건 (0) | 2020.06.06 |