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

Untuk loop dengan nama tabel dinamis di Postgresql 9.1?

Anda tidak dapat menggunakan variabel sebagai pengidentifikasi tabel atau kolom dalam plpgsql tertanam SQL pernah. Solusinya adalah SQL dinamis - pernyataan EXECUTE atau FOR IN EXECUTE:

DO $$
DECLARE
  tables text[] = ARRAY['table1','table2'];
  table_name text;
  rec record;
BEGIN
  FOREACH table_name IN ARRAY tables
  LOOP
    FOR r IN EXECUTE format('SELECT * FROM %I', table_name)
    LOOP
      RAISE NOTICE '%', rec;
    END LOOP; 
  END LOOP;
END; $$



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Urutkan agregat teks yang dibuat dengan array_agg di postgresql

  2. Jenis kolom YYYY-MM di PostgreSQL

  3. Percepat plpgsql yang menghitung jenis dokumen dalam satu lingkaran?

  4. transfer data dari satu database ke database lain di odoo

  5. PostgreSQL:ERROR:operator tidak ada:integer =karakter bervariasi