PostgreSQL 9,4Как найти все таблицы, имеющие определенный внешний ключ?
Я таблица называется mailing
в схеме mailing
:
id name
PK varcahr(32)
Можно найти все таблицы во всех схемах, имеющих внешний ключ к mailing.id
?
PostgreSQL 9,4Как найти все таблицы, имеющие определенный внешний ключ?
Я таблица называется mailing
в схеме mailing
:
id name
PK varcahr(32)
Можно найти все таблицы во всех схемах, имеющих внешний ключ к mailing.id
?
есть запрос я использую, чтобы получить список ForeignKeys:
следующий запрос должен помочь:
SELECT RC.CONSTRAINT_NAME FK_Name , KF.TABLE_SCHEMA FK_Schema , KF.TABLE_NAME FK_Table , KF.COLUMN_NAME FK_Column , RC.UNIQUE_CONSTRAINT_NAME PK_Name , KP.TABLE_SCHEMA PK_Schema , KP.TABLE_NAME PK_Table , KP.COLUMN_NAME PK_Column , RC.MATCH_OPTION MatchOption , RC.UPDATE_RULE UpdateRule , RC.DELETE_RULE DeleteRule FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS RC JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE KF ON RC.CONSTRAINT_NAME = KF.CONSTRAINT_NAME JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE KP ON RC.UNIQUE_CONSTRAINT_NAME = KP.CONSTRAINT_NAME WHERE KP.COLUMN_NAME='ID'
Несмотря на не работает так, как вы в курсе, ваш ответ был очень полезным , Спасибо. –
INFORMATION_SCHEMA.KEY_COLUMN_USAGE – jarlh