В базе данных Vertica я хочу знать столбцы определенной таблицы, где применяется ограничение «Уникальный».
Пример:
CREATE TABLE dim1 ( c1 INTEGER, c2 INTEGER, c3 INTEGER, UNIQUE (c1, c2) );
Я хочу выполнить запрос, в котором я ввожу имя таблицы "dim1", и результатом будет "c1, c2"
Для получения дополнительной информации об уникальном (Последняя строка в ссылке) https://my.vertica.com/docs/7.0.x/HTML/Content/Authoring/AdministratorsGuide/Constraints/UniqueConstraints.htm
Это довольно легко сделать, запросив системный каталог, в частности V_CATALOG.CONSTRAINT_COLUMNS:
V_CATALOG.CONSTRAINT_COLUMNS
select column_name from V_CATALOG.CONSTRAINT_COLUMNS where table_name = 'dim1' and constraint_type = 'u'