Большинство современных РСУБД поддерживают схему INFORMATION_SCHEMA
. Если ваш поддерживает это, то вы хотите либо INFORMATION_SCHEMA.TABLE_CONSTRAINTS
или INFORMATION_SCHEMA.KEY_COLUMN_USAGE
, либо, возможно, оба.
Чтобы увидеть, поддерживает ли ваш, это так же просто, как запустить
select count(*) from INFORMATION_SCHEMA.TABLE_CONSTRAINTS
РЕДАКТИРОВАТЬ: SQL Server имеет INFORMATION_SCHEMA
, и его проще использовать, чем их таблицы, зависящие от поставщика, так что просто пойти с ним.