PostgreSQL
RETURNING
INSERT/UPDATE/DELETE された行のデータを即座に返す(PostgreSQLで代表的)
解説
INSERT、UPDATE、DELETE などのデータ更新処理を行った直後に、変更された行の値を1回のクエリでそのまま取得できる構文です。PostgreSQLで広く使われていますが、SQLiteなど一部のRDBMSにも類似の RETURNING 構文があります。
実務でのメリット(API開発)
通常、MySQLなどでは自動採番されたIDを知るために LAST_INSERT_ID() などの別クエリを発行する必要があります。しかし RETURNING id を付ければ、挿入とID取得が同時に完了するため、データベースへの往復通信(ラウンドトリップ)を半減させることができます。
構文
INSERT INTO 表 (列) VALUES (値) RETURNING カラム名;
具体例
INSERT INTO users (name) VALUES ('ミリア') RETURNING id, created_at;
この構文を実際に書いて試してみませんか?
SQLエディタを開く