首頁 > 後端開發 > Golang > 如何使用單一查詢有效率地批次更新 PostgreSQL 中的多行?

如何使用單一查詢有效率地批次更新 PostgreSQL 中的多行?

Mary-Kate Olsen
發布: 2024-12-05 14:24:11
原創
208 人瀏覽過

How Can I Efficiently Bulk Update Multiple Rows in PostgreSQL Using a Single Query?

使用單一 PostgreSQL 查詢批次更新多行

使用 Go 更新 PostgreSQL 資料庫中的多行可以透過單一 SQL 高效實現陳述。這種方法提供了一種一次性更新多筆記錄的便捷方法,減少了所需的查詢數量並提高了效能。

為了執行批次更新,我們可以利用衍生表,它是在查詢的範圍。這允許我們指定要更新的行的值。操作方法如下:

UPDATE t
SET column_a = v.column_a,
    column_b = v.column_b
FROM (VALUES (1, 'FINISH', 1234),
             (2, 'UNFINISH', 3124)
     ) v(id, column_a, column_b)
WHERE v.id = t.id;
登入後複製

在此範例中,我們建立一個名為 v 的衍生表,其中包含三列:id、column_a 和 column_b。我們提供兩行的值,它們代表我們想要進行的更新。 WHERE 子句將派生表的 id 欄位與我們正在更新的表 (t) 的 id 欄位進行比對。

這種方法可以輕鬆新增要更新的其他行,只需將更多行新增到衍生表。與編寫多個單獨的更新語句相比,這更不容易出錯。

以上是如何使用單一查詢有效率地批次更新 PostgreSQL 中的多行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板