PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Cập nhật nhiều hàng trong cùng một truy vấn bằng PostgreSQL

Bạn cũng có thể sử dụng update ... from cú pháp và sử dụng một bảng ánh xạ. Nếu bạn muốn cập nhật nhiều hơn một cột, nó có thể khái quát hơn nhiều:

update test as t set
    column_a = c.column_a
from (values
    ('123', 1),
    ('345', 2)  
) as c(column_b, column_a) 
where c.column_b = t.column_b;

Bạn có thể thêm bao nhiêu cột tùy thích:

update test as t set
    column_a = c.column_a,
    column_c = c.column_c
from (values
    ('123', 1, '---'),
    ('345', 2, '+++')  
) as c(column_b, column_a, column_c) 
where c.column_b = t.column_b;

sql fiddle demo



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. gem cài đặt pg không thể liên kết với libpq

  2. Tự động làm mới chế độ xem cụ thể hóa bằng cách sử dụng quy tắc hoặc thông báo

  3. Tôi có thể lưu trữ bao nhiêu bản ghi trong 5 MB PostgreSQL trên Heroku?

  4. Psql không thể kết nối với máy chủ:Không có tệp hoặc thư mục như vậy, lỗi 5432?

  5. Chế độ postgresql H2 dường như không hoạt động với tôi