更新された行のデータを返す行が更新されるときに、その行のデータを取得できると便利なことがあります。INSERT、UPDATE、DELETEの各コマンドは、いずれもオプションのRETURNING句によりそれが可能となっています。RETURNINGを使うことで、行を取得するために余分なデータベースへの問い合わせを行うことを避けられ、それ以外の方法で更新された行を確実に特定するのが難しい場合には、これは特に貴重です。RETURNING句で使用できる項目はSELECTコマンドの出力リスト(7.3参照)と同じです。コマンドの対象となっているテーブルの列の名前、あるいはそれらの列を使った値の式を入れることができます。*で、これは対象テーブルのすべての列を順に返します。INSERTでは、RETURNINGで利用できるデータは、挿入された通りの行です。単純な挿入では、クライアントが提供したデータを単に繰り返すだけになりますから、あまり役には立ちません。計算されたデフォルト値に依存しているときは、これは非常に便利なことがあります。serialの列を使って一意識別子を提供している場合、以下のようにRETURNINGによって、新しい行に割り当てられたIDを返すことができます。SELECTでも非常に役に立ちます。UPDATEでは、RETURNINGで利用できるデータは、更新された行の新しい内容です。new_price;DELETEでは、RETURNINGで利用できるデータは、削除された行の内容です。*;対象のテーブルにトリガー(第39章)がある場合、RETURNINGで利用できるデータは、トリガーで更新された行です。従って、トリガーによって計算された列を検査するのもRETURNINGの一般的な利用方法の一つです。