sql >> Databasteknik >  >> RDS >> PostgreSQL

För loop med dynamiskt tabellnamn i Postgresql 9.1?

Du kan aldrig använda en variabel som tabell- eller kolumnidentifierare i plpgsql inbäddad SQL. En lösning är dynamisk SQL - EXECUTE eller FOR IN EXECUTE-satser:

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. Hur man skapar en tabell i designvy i Access 2016

  2. Använd tidsstämpel (eller datumtid) som en del av primärnyckeln (eller en del av klustrade index)

  3. Kolumnantal matchar inte värderäkning på rad men det gör det

  4. Hur man använder Access 2019 skärmtips