0
次のplpgsqlプロシージャ/関数を使用して、Auto_increment値を持つレコードのセットを取得しようとしています。オートインクリメントを格納するフィールド「位置」を作成しましたが、それは間違っていると思いますが、新しいクエリフィールドを追加する場所をこのクエリでどのように設定するかはわかりません。私の意図ははっきりしていると思います。誰でも私を助けることができますか?、してください!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
の戻り値の型を変更するには、それをドロップして再 –
を作成することはできませんと言って、種類のエラーが出ます –