Database 如何使用select查询找出表的主键

Database 如何使用select查询找出表的主键,database,oracle,select,primary-key,Database,Oracle,Select,Primary Key,是否可以从SomeTable运行SELECT PIRMARY_KEY,其中PRIMARY_KEY是一个自动转换为SomeTable主键列的关键字 我正在使用Oracle数据库如果您问我如何计算任何给定表的主键,则“desc table_name”将显示您需要了解的所有详细信息。这是特定于数据库的。信息通常驻留在专有系统表中 然而,在大多数情况下,数据库实现足以为您提供获取此信息的存储过程。有一些API可以为您提供与数据库无关的方法来获取这些信息,但我怀疑您想要的是直接从SQL访问的东西。发布您的

是否可以从SomeTable运行SELECT PIRMARY_KEY,其中PRIMARY_KEY是一个自动转换为SomeTable主键列的关键字


我正在使用Oracle数据库

如果您问我如何计算任何给定表的主键,则“desc table_name”将显示您需要了解的所有详细信息。

这是特定于数据库的。信息通常驻留在专有系统表中

然而,在大多数情况下,数据库实现足以为您提供获取此信息的存储过程。有一些API可以为您提供与数据库无关的方法来获取这些信息,但我怀疑您想要的是直接从SQL访问的东西。发布您的特定数据库类型,我相信有人会知道。

试试以下方法:

select cc.column_name
from user_cons_columns cc
join user_constraints c on c.constraint_name = cc.constraint_name
where c.table_name = 'MYTABLE'
and c.constraint_type = 'P'
order by cc.position

您可以在中阅读有关这些和其他有用数据字典视图的更多信息。

问题是如何借助select query查找这些视图?您指的是类似于select PIRMARY_KEY FROM SomeTable的内容吗,其中主键是一个关键字,它会自动转换为SomeTable的主键列?Michael-我正在使用Oracle数据库Tony-谢谢。这正是我想要的