sql >> データベース >  >> RDS >> PostgreSQL

関数で複数の値を返す

    あなたは物事を複雑にしすぎています。複数の値を返したいので、関数をreturns tableとして定義する必要があります またはreturns setofreturns tableが好きです 結果の列名も定義できるためです。

    また、これにはPL / pgSQLは必要ありません。これは、UPDATEを備えたプレーンなSQL関数です。 ステートメントで十分です:

    CREATE OR REPLACE FUNCTION assign_task(IN worker text)
      returns table (id bigint)
    as
    $BODY$
     UPDATE queue
      SET status = 'In progress', worker = $1
      WHERE status = 'New'
      RETURNING queueid;
    $BODY$
    LANGUAGE sql VOLATILE;
    



    1. メモリ不足(50855936が割り当てられています)(50331646バイトを割り当てようとしました)

    2. MySQL:クエリを選択、5分刻み

    3. 主キーIDDoctrineSymfony2の値がありません

    4. クエリプランは何を伝えることができますか?