Как получить все ограничения для таблицы?

Я хочу хранить метаданные таблиц в другой таблице. Итак, как получить все ограничения и их тип, например, первичный, уникальный или внешний ключ на сервере MS SQL.

имя_таблицы имя_ограничения ограничение_тип

пользователь pk_user_id PRIMARY_KEY

user_role fk_role FOREIGN_KEY

user unique_email UNIQUE_KEY


person Shankar Modi    schedule 02.01.2015    source источник
comment
Зачем вам хранить эту информацию самостоятельно, она уже хранится и требует много обслуживания?   -  person bobthedeveloper    schedule 02.01.2015


Ответы (1)


ИСПОЛЬЗОВАТЬ INFORMATION_SCHEMA.TABLE_CONSTRAINTS

SELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
WHERE TABLE_NAME='tablename'
person knkarthick24    schedule 02.01.2015
comment
Это должно быть отмечено как правильный ответ - person enanone; 08.12.2020