PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

PostgreSQL:SQL скрипт за получаване на списък на всички таблици, които имат определена колона като външен ключ

SELECT
    r.table_name
FROM information_schema.constraint_column_usage       u
INNER JOIN information_schema.referential_constraints fk
           ON u.constraint_catalog = fk.unique_constraint_catalog
               AND u.constraint_schema = fk.unique_constraint_schema
               AND u.constraint_name = fk.unique_constraint_name
INNER JOIN information_schema.key_column_usage        r
           ON r.constraint_catalog = fk.constraint_catalog
               AND r.constraint_schema = fk.constraint_schema
               AND r.constraint_name = fk.constraint_name
WHERE
    u.column_name = 'id' AND
    u.table_catalog = 'db_name' AND
    u.table_schema = 'public' AND
    u.table_name = 'table_a'

Това използва пълния триплет каталог/схема/име за идентифициране на db таблица от всички 3 изгледа на information_schema. Можете да пуснете един или два, ако е необходимо.

Заявката изброява всички таблици, които имат ограничение за външен ключ срещу колона „a“ в таблица „d“



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Съкращаване на дисплея по подразбиране в операторите за избор на postgres psql

  2. Проблем с npgsql в приложението c# - съществуваща връзка беше принудително затворена от отдалечения хост

  3. Как да пуснете потребител в postgre, ако има зависими обекти

  4. Актуализирайте стойността на колоната PostgreSQL

  5. Как да подобря производителността на базирани на дата заявки за голяма таблица?