1
다음 기능에서 나는 무엇을 잘못하고 있습니까? 나는 위의 함수를 실행하면Postgresql create function error
CREATE OR REPLACE FUNCTION extended_sales(area_type varchar, area_code varchar, dpci varchar) RETURNS TABLE(task_id bigint, location_id int)as
$BODY$
BEGIN
IF area_type = 1 THEN
RETURN QUERY select T.task_id, T.location_id from store_price.task T where T.task_payload->>'str_area_type_i'='3';
ELSE IF area_type = 2 THEN
RETURN QUERY select T.task_id, T.location_id from store_price.task T where T.due_date < '2017-10-06';
ELSE
RETURN QUERY select T.task_id, T.location_id from store_price.task T where task_payload->>'str_area_type_i'='1' and task_payload->>'str_area_c'='7' and due_date < '2016-11-07';
END IF;
END
$BODY$ language plpgsql;
그것은 어떤 도움에 감사드립니다
ERROR: syntax error at end of input
LINE 17: $BODY$ language plpgsql;
다음과 같은 오류를 제공합니다. 감사.
나는 그것을 컴파일하려고하지 않았다,하지만 당신은'END' 후 세미콜론이 필요하지 않습니다? – Hambone
끝나기 전에'return;'이 필요합니까? –
@Hambone : 아니, 그렇지 않아. 결국 선택 사항입니다. –