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

triển khai CẬP NHẬT về CHỌN trong Postgres

Lưu ý giá trị mặc định cho cột qry_count:

CREATE TABLE t (
    a INTEGER PRIMARY KEY, 
    b TEXT, 
    entered_by INTEGER, 
    qry_count INTEGER default 0
);

create function select_and_update(parameter text)
returns setof t as $$
    update t
    set qry_count = qry_count + 1
    from (
        select a
        from t
        where b = $1
        ) s
    where t.a = s.a
    ;
    select *
    from t
    where b = $1
    ;
$$ language sql;

Bây giờ hãy truy vấn bảng bằng hàm trên:

select * from select_and_update('a');

Cập nhật theo bình luận:

Bạn có thể xây dựng nó động và thay vì một hàm chỉ quấn mã sql, bất kể nó là gì, trong một giao dịch. Không cần con trỏ.

begin;
    update t
    set qry_count = qry_count + 1
    from (
        select a
        from t
        where b = 'a'
        ) s
    where t.a = s.a
    ;
    select *
    from t
    where b = 'a'
    ;
commit;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Khắc phục “LỖI:mỗi truy vấn UNION phải có cùng số cột” trong PostgreSQL

  2. Tạo bảng sql từ khung dữ liệu dask bằng map_partitions và pd.df.to_sql

  3. Tạo cơ sở dữ liệu postgreSQL theo lập trình

  4. Sự khác biệt giữa Postgres DISTINCT và DISTINCT ON là gì?

  5. Danh sách gần kề thành biểu đồ JSON với Postgres