Oracle中所有标识列的列表

Posted

技术标签:

【中文标题】Oracle中所有标识列的列表【英文标题】:List of all identity columns in Oracle 【发布时间】:2019-10-31 01:20:26 【问题描述】:

如何获取 Oracle SQL 中所有标识列的列表?

【问题讨论】:

【参考方案1】:

选择表名,列名 FROM all_tab_columns WHERE identity_column = 'YES';

【讨论】:

【参考方案2】:

查询 USER|ALL|DBA|CDB_TAB_IDENTITY_COLS 以获取有关身份设置的技术详细信息。

按照Prasanth's answer 中的建议查询USER|ALL|DBA|CDB_TAB_COLUMNS where IDENTITY_COLUMN = 'YES',以获取有关列的一般信息。

【讨论】:

【参考方案3】:

从 user_tab_identity_cols 中选择 *;

【讨论】:

【参考方案4】:

Oracle 中没有与 SQL Server 中一样的标识列。 Oracle中有主键的概念。您可以使用以下查询找到数据库中所有表的主键列表:

SELECT a.table_name,a.column_name
FROM all_cons_columns a, all_constraints b
where a.constraint_name = b.constraint_name
and b.constraint_type = 'P';

希望这会有所帮助:)

【讨论】:

Oracle 12C 引入了 Identity 列。

以上是关于Oracle中所有标识列的列表的主要内容,如果未能解决你的问题,请参考以下文章