PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Uzyskaj listę wszystkich używanych tabel w zapytaniu SELECT w Postgresql

Wypróbuj:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Głowy w chmurze na CHAR(10)

  2. Jak wykonać kopię zapasową bazy danych postgresql z poziomu psql?

  3. Czy jest jakiś problem z instalacją psycopg2 w virtualenv na MacOS catalina z zainstalowanym PostgreSQL 12.1?

  4. Równoważność z dual w PostgreSQL

  5. Jak wykonać zapytanie SQL dla słów z interpunkcją w Postgresql?