PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Pemicu PostgreSQL untuk menghasilkan kode untuk beberapa tabel secara dinamis

Saya akan sangat antusias untuk ditampilkan salah (saya kadang-kadang membutuhkan ini sendiri juga), tetapi yang terbaik yang saya ketahui, merujuk nama kolom menggunakan variabel adalah salah satu kasus di mana Anda benar-benar perlu menggunakan pemicu PL/C daripada PL/ pemicu PgSQL. Anda akan menemukan contoh pemicu tersebut di contrib/spi dan di PGXN.

Atau, beri nama kolom Anda secara konsisten sehingga dapat merujuknya secara langsung, mis. NEW.tenant_code .

Secara pribadi, saya biasanya menulis fungsi yang membuat pemicu:

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. Bagaimana saya bisa menandai tabel hanya-baca?

  2. pemilihan baris acak cepat di Postgres

  3. kesalahan perintah util alembic tidak dapat menemukan pengidentifikasi

  4. Bagaimana saya bisa mendengarkan pembuatan model tertentu dan membuat yang baru (di tabel yang berbeda) berdasarkan ini?

  5. Psycopg / Postgres :Koneksi hang out secara acak