如何知道序列应用于哪一列?

Vin*_*eet 3 sql oracle plsql sequence

我必须获取所有序列及其表名以及应用序列的列名.有些我如何设法获取对应于序列的表名,因为在我的数据库序列中存储的第一个名称作为来自数据字典的表名( all_sequences和all_tables).

如果可能,请告诉我如何获取相应的列名!

dcp*_*dcp 6

在Oracle中,序列是一个独立的对象,它与特定的表或列无关.例如,您可以运行此查询以获取序列列表:

SELECT * FROM all_sequences
Run Code Online (Sandbox Code Playgroud)

当您创建序列时,您会注意到CREATE SEQUENCE语法中没有任何内容表明您要将其与表或列关联.

序列只是一个唯一的数字生成器,它不关心你用它生成的数字(即你是否将序列值插入表格等),它只是提供那个唯一的数字.

因此,不可能告诉给定的列使用了什么序列(如果有的话)来生成该列的值.