복붙노트

[SQL] 기능을 가진 두 개의 열을 반환하는 방법

SQL

기능을 가진 두 개의 열을 반환하는 방법

내 SQL 기능이 개 값을 반환 할 :

CREATE OR REPLACE FUNCTION get_avg_prices(...)
  RETURNS table(avg_sale_price decimal, avg_rent_price decimal) 
AS
$$

SELECT 
  building_prices.avg_sale_price, 
  building_prices.avg_rent_price
FROM 
  ...

$$
  LANGUAGE sql;

그것은 작동하지만 단일 컬럼의 값을 반환합니다 :

어떻게이 별도의 열의 값을 반환?

해결법

  1. ==============================

    1.테이블 함수 필요 (반환 테이블 또는 반환 SETOF로 정의 함수)는 테이블과 같은에서 절에 사용할 수 있습니다.

    테이블 함수 필요 (반환 테이블 또는 반환 SETOF로 정의 함수)는 테이블과 같은에서 절에 사용할 수 있습니다.

    당신이 사용할 필요가 그래서 :

    select * 
    from get_avg_prices(...);
    

    (단지 하나의 값, 예를 들어 번호를 반환하는 함수) 스칼라 함수가 선택리스트에 투입한다.

  2. from https://stackoverflow.com/questions/31397814/how-to-return-two-columns-with-function by cc-by-sa and MIT license