0
다음 plpgsql 프로 시저/함수에서 Auto_increment 값을 사용하여 레코드 세트를 가져 오려고합니다. 필자는 autoincrement를 저장하기 위해 "position"필드를 만들었습니다. 잘못된 것 같습니다. 그러나이 쿼리를 어떻게 계산할지 계산할 필드를 추가하고 싶지 않습니다. 내 의도가 분명하다고 생각합니다. 누구든지 나를 도울 수 있습니까?, 제발!plpgsql 프로 시저 : 쿼리에 auto_increment 필드를 추가하는 방법
CREATE OR REPLACE FUNCTION pra2.GetRankingOfPilots(IN sea pra2.season.name%type)
RETURNS setof RECORD AS $BODY$
DECLARE
r RECORD;
fila integer;
BEGIN
fila:=0;
FOR r IN SELECT
position,
driver.name driver,
constructor.name constructor,
season.name season,
CAST(sum(runs.points) AS int) totalpuntos
FROM
pra2.hired hired
INNER JOIN pra2.constructor on hired.name_constructor = pra2.constructor.name
INNER JOIN pra2.driver on hired.num_driver = pra2.driver.num
INNER JOIN pra2.runs on pra2.driver.num=pra2.runs.num_driver
INNER JOIN pra2.race on pra2.runs.name_race=pra2.race.name AND pra2.runs.season_fk=pra2.race.season_fk AND pra2.runs.season_fk=pra2.race.season_fk
INNER JOIN pra2.season on hired.name_season=pra2.season.name AND pra2.race.season_fk=pra2.season.name
WHERE
pra2.season.name=sea
GROUP BY
season,driver,constructor
ORDER BY
TotalPuntos Desc
LOOP
fila:=fila+1;
r.posicion:=fila;
RETURN NEXT r;
END LOOP;
RETURN;
END;
$BODY$
LANGUAGE plpgsql;
감사합니다.
나는 그것을 전에이었다 무엇이든 또는 캐스트 BIGINT를 생성 기능 – galeonweb
의 반환 형식을 변경 드롭 다시 –
을 만들 수 없다는, 유형의 오류 –