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

Làm cách nào để sử dụng tên cột động trong câu lệnh UPDATE hoặc SELECT trong một hàm?

Trong một UPDATE trong PL / pgSQL, tên bảng phải được cung cấp dưới dạng một chữ. Nếu bạn muốn đặt động tên bảng và các cột, bạn nên sử dụng EXECUTE lệnh và dán chuỗi truy vấn lại với nhau:

EXECUTE 'UPDATE ' || quote_ident(r.relname) ||
       ' SET ' || quote_ident(r.cols_list[1]) || ' = $1, ' || 
                  quote_ident(r.cols_list[2]) || ' = $2' ||
       ' WHERE ' || quote_ident(r.cols_list[1]) || ' = $3 AND ' ||
                    quote_ident(r.cols_list[2]) || ' = $4'
USING ncicd9, ncdesc, ocicd9, ocdesc;

USING mệnh đề chỉ có thể được sử dụng để thay thế các giá trị dữ liệu, như được hiển thị ở trên.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. @BatchSize là cách sử dụng thông minh hay ngu ngốc?

  2. Tổng quan về các phương pháp quét khác nhau trong PostgreSQL

  3. Tổng hợp các cột với các bộ lọc bổ sung (riêng biệt)

  4. Chọn kiểu dữ liệu của trường trong postgres

  5. Truyền kiểu NULL khi cập nhật nhiều hàng