Метаданные проверки ограничений SQL Server

У меня есть база данных SQL Server, которая содержит таблицу, где varchar столбец имеет проверочные ограничения, чтобы убедиться, что только несколько разных слов могут быть введены в качестве значения (имена).

Как это

CONSTRAINT chk_Names CHECK (name IN ('John', 'Eva', 'Carl', 'Fred'))

Что я хочу сделать, так это заполнить комбинированный список в Java этими именами, и я не хочу вводить их вручную, так как они могут измениться в базе данных. Я хочу заполнить его из метаданных.

Но я не смог найти способ получить информацию из базы данных с помощью INFORMATION_SCHEMA или же sys.objects (или из DatabaseMetaData в Java в этом отношении)

Я совершенно новичок в SQL Server, но возможно ли как-нибудь получить эту информацию?

С уважением / Фред

1 ответ

Решение

Похоже, вы должны переместить список имен в таблицу. Ваша форма Java может выбрать данные из таблицы.

И, поскольку данные могут изменяться, будет лучше обновить таблицу, чем изменить проверочное ограничение. Вы также можете изменить ограничение проверки на ограничение внешнего ключа.

Вы также можете найти определения проверочных ограничений в INFORMATION_SCHEMA.CHECK_CONSTRAINTS, Выражение в CHECK_CLAUSE колонка; и вам придется извлечь значения из выражения.

Другие вопросы по тегам