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

Få en liste over alle brugte tabeller i en Postgresql SELECT-forespørgsel

Prøv:

create or replace function get_query_tables(p_query text) returns text[] language plpgsql as $$
declare
  x xml;
begin
  execute 'explain (format xml) ' || p_query into x;
  return xpath('//explain:Relation-Name/text()', x, array[array['explain', 'http://www.postgresql.org/2009/explain']])::text[];
end $$;

select get_query_tables('your query here');

dbfiddle



  1. Hvordan tillader man kun én række til en tabel?

  2. Konverter tidsstempel/datotid fra UTC til EST Oracle SQL

  3. Tilføjelse af flere kolonner i MySQL med en erklæring

  4. aws - ec2 - mysql - forekomst stop, genstart - andre brugeres adgangskoder ændret