使用單一 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中文網其他相關文章!