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

Trình kích hoạt PostgreSQL để tự động tạo mã cho nhiều bảng

Tôi khá nhiệt tình khi bị hiển thị sai (đôi khi bản thân tôi cũng cần điều này), nhưng tốt nhất tôi biết rằng, việc tham chiếu tên cột bằng cách sử dụng các biến là một trong những trường hợp bạn thực sự cần sử dụng trình kích hoạt PL / C hơn là PL / Trình kích hoạt PgSQL. Bạn sẽ tìm thấy các ví dụ về các trình kích hoạt như vậy trong Contrib / spi và trên PGXN.

Ngoài ra, hãy đặt tên cho các cột của bạn một cách nhất quán để có thể tham chiếu trực tiếp đến chúng, ví dụ:NEW.tenant_code .

Cá nhân tôi thường kết thúc bằng việc viết một hàm tạo trình kích hoạt:

create function create_tg_stuff(_table regclass, _args[] text[])
  returns void as $$
begin
  -- explore pg_catalog a bit
  execute $x$
  create function $x$ || quote_ident(_table || '_tg_stuff') || $x$()
    returns trigger as $t$
  begin
    -- more stuff
    return new;
  end;
  $t$ language plpgsql;
  $x$;
end;
$$ language plpgsql;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chuyển đổi chuỗi hex thành số nguyên trong Amazon Redshift

  2. Cách thiết lập tiện ích mở rộng Postgres?

  3. Sắp xếp các chuỗi số được phân tách bằng dấu chấm (ví dụ:số phiên bản)

  4. Sao chép kết quả từ một dạng xem PostgreSQL trong một DB sang một bảng trong một cơ sở dữ liệu khác

  5. Khóa một hàng cụ thể trong postgres