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

Kueri UNION ALL dinamis di Postgres

Ini hanyalah panduan umum yang perlu Anda kerjakan dalam detail khususnya sintaksis.

Anda perlu membuat prosedur penyimpanan

Buat pemeriksaan loop information_schema.tables filter untuk nama tabel yang Anda inginkan

DECLARE    
    rec record;
    strSQL text;
BEGIN

Kemudian buat strSQL dengan setiap tabel

 FOR rec IN SELECT table_schema, table_name
            FROM information_schema.tables                
 LOOP
     strSQL := strSQL || 'SELECT ogc_fid, wkb_geometry FROM ' || 
               rec.table_schema || '.' || rec.table_name || ' UNION ';
 END LOOP;

-- have to remove the last ' UNION ' from strSQL    

strSQL := 'SELECT  row_number() over (ORDER BY a.ogc_fid) AS qid,
         a.wkb_geometry AS geometry FROM (' || strSQL || ')';

EXECUTE strSQL;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL - menerapkan antrian yang andal

  2. PL/Python &postgreSQL:Apa cara terbaik untuk mengembalikan tabel dengan banyak kolom?

  3. Tidak dapat PILIH dari klausa UPDATE RETURNING di postgres

  4. Urutan sementara dalam SELECT

  5. Bagaimana saya bisa meneruskan urutan kunci utama di Django dengan aman?