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

Pilih (ambil) semua catatan dari beberapa skema menggunakan Postgres

Dengan warisan seperti yang disebutkan @Denis, ini akan sangat sederhana. Bekerja untuk Postgres 8.4 juga. Pastikan untuk mempertimbangkan batasan .

Pada dasarnya, Anda akan memiliki tabel master, saya kira dalam skema master:

CREATE TABLE master.product (title text);

Dan semua tabel lainnya dalam berbagai skema mewarisi dari itu, mungkin menambahkan lebih banyak kolom lokal:

CREATE TABLE a.product (product_id serial PRIMARY KEY, col2 text)
INHERITS (master.product);

CREATE TABLE b.product (product_id serial PRIMARY KEY, col2 text, col3 text)
INHERITS (master.product);

dll.

Tabel tidak harus memiliki nama atau skema yang sama.
Kemudian Anda dapat mengkueri semua tabel dalam satu gerakan:

SELECT title, tableoid::regclass::text AS source
FROM   master.product
WHERE  title ILIKE '%test%';

tableoid::regclass::text ?
Itu cara praktis untuk memberi tahu sumber setiap baris. Detail:

  • Cari tahu skema mana yang berdasarkan nilai tabel

SQL Fiddle.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hapus beberapa array secara paralel

  2. Berfungsi untuk mengembalikan kumpulan kolom dinamis untuk tabel yang diberikan

  3. Apakah ada PostgreSQL yang setara dengan profiler SQL Server?

  4. Bagaimana cara mendapatkan min, median, dan maks dari kueri saya di postgresql?

  5. CURRENT_TIMESTAMP dalam milidetik