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中所有标识列的列表的主要内容,如果未能解决你的问题,请参考以下文章

oracle 11g - 在oracle 11g数据库中获取标识列的最后一个插入ID的方法是什么?

仅当使用列列表并且 IDENTITY_INSERT 为 ON [重复] 时,才能指定表“客户”中标识列的显式值

实体框架代码第一个用于标识列的私有集

使用 Datagrip 导入 csv(带有标识列的表)

SQL Server中的标识列

插入标识列的 BCP 格式是啥