Вам нужно будет запросить каталог системы базы данных, чтобы найти первичный ключ и все уникальные ограничения таблицы, а затем выберите тот, который наилучшим образом соответствует вашим потребностям. Вы можете ожидать найти 0, 1 или более таких ограничений.
Для базы данных Oracle вы бы использовать что-то вроде
select
c.constraint_name,
col.column_name
from
dba_constrants c,
dba_cons_columns col
where
c.table_name = 'YOURTABLE'
and c.constraint_type in ('P', 'U')
and c.constraint_name = col.constraint_name
order by
c.constraint_name,
col.position
Для MySQL вы бы запросить INFORMATION_SCHEMA.TABLE_CONSTRAINTS и мнения INFORMATION_SCHEMA.KEY_COLUMN_USAGE аналогичным образом.
Если вы запрашиваете таблицу, то вы уже знаете имя этой таблицы. Вы можете добавить его как строку ... – Ben
P.S. можете ли вы удалить Oracle или MySQL (они являются отдельными системами баз данных), если вы не используете обе РСУБД? – Ben