У меня есть ограничение называется users.SYS_C00381400
. Как мне найти, что это за ограничение? Есть ли способ запросить все ограничения?
sql
oracle
constraints
Дэвид Онеилл
источник
источник
Ответы:
Как и все представления словаря данных, это представление USER_CONSTRAINTS, если вы просто хотите проверить текущую схему, и представление DBA_CONSTRAINTS для пользователей с правами администратора.
Конструкция имени ограничения указывает системное имя ограничения. Например, если мы указали NOT NULL в объявлении таблицы. Или действительно первичный или уникальный ключ. Например:
'C'
для проверки,'P'
для первичной.Как правило, хорошая идея дать реляционным ограничениям явное имя. Например, если база данных создает индекс для первичного ключа (что она будет делать, если этот столбец еще не проиндексирован), она будет использовать имя ограничения или имя индекса. Вам не нужна база данных, полная индексов, названных как
SYS_C00935191
.Честно говоря, большинство людей не заботятся об именовании ограничений NOT NULL.
источник
Чтобы получить более подробное описание (какая таблица / столбец ссылается на какую таблицу / столбец) вы можете выполнить следующий запрос:
От сюда .
источник
может быть, это может помочь ..
источник