sql >> Database teknologi >  >> RDS >> PostgreSQL

For loop med dynamisk tabelnavn i Postgresql 9.1?

Du kan aldrig bruge en variabel som tabel- eller kolonne-id i plpgsql-indlejret SQL. En løsning er dynamisk SQL - EXECUTE eller FOR IN EXECUTE sætninger:

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. Nøgleværdipar i PostgreSQL

  2. Er det muligt i Debezium at konfigurere tabelnavn => kafka emnemapping?

  3. Undgå disse 4 almindelige DBA-fejl

  4. Hvordan udløser man mysql-begivenhed efter en tidsperiode?