sql >> データベース >  >> RDS >> PostgreSQL

PostgresqlSELECTクエリで使用されているすべてのテーブルのリストを取得します

    試してみてください:

    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. OracleDatabaseで即時実行を使用してテーブルDDLを作成するパート2

    2. SQL ServerデータベースをMySQLに移行する方法は?

    3. MySQLショッピングカートの構造

    4. Oracle SQL Developerでクエリ実行時間を見つける方法は?