PostgreSQL 的 RETURNING 子句
覺得我們的內容實用嗎? MyApollo 電子報讀者募集中!歡迎訂閱電子報!
你知道 PostgreSQL 的 INSERT/UPDATE/DELETE 語句(statement)支援 RETURNING 子句(clause)嗎?
PostgreSQL 的 INSERT 可以這樣寫:
INSERT comment (name, text) VALUES ('JoJo', 'Hi')
RETURNING id;
支援 RETURNING 子句的好處是像這種由資料庫產生 Id 的資料,可以省下 1 個再去查詢剛剛產生的 Id 是什麼的 Query, 不僅可以少寫一段程式,還可以提升資料庫效能,整個提升開發者體驗!
實際上 RETURNING 還允許使用與 SELECT 相同的語法,包含取得多個欄位、重新命名欄位、計算欄位值等等,應用上也很彈性。
大家可能會想為什麼 DELETE 為什麼需要 RETURNING 子句,用在 DELETE 語句時, RETURNING 會回傳被刪除資料內容,如果有需要事先對資料進行備份的話,也就不需要在刪除之前額外多執行一次 Query 將資料查詢好。
以上就是 PostgreSQL 的 RETURNING 子句介紹,從這個小地方我個人蠻看好 PostgreSQL 的長期發展!