select SEQUENCE_OWNER, SEQUENCE_NAME from ALL_SEQUENCES
我们假设上面的代码会给我以下结果。
<Table Name: ALL_SEQUENCES>
SEQUENCE_OWNER SEQUENCE_NAME
schema1 table1_name_seq
schema1 table2_name_seq
schema2 table1_name_seq
我很确定每个序列都有一个对应的父表,序列用于该表。所以,我想使用 sequence_name 找到父表。例如,如果我知道序列名 table1_name_seq 且序列所有者 schema1 ,我应该找到表名 schema1.table1 。
建议不要使用SUBSTRING或REPLACE函数来重新格式化字符串,因为 sequence_name 不遵循“良好的一致命名标准”,我无权更改它。
我找不到有关此事的任何信息。非常感谢您的帮助!
答案 0 :(得分:6)
简答:序列和表格之间不是一对一的关系。
长(呃)答案:
您可以对多个表使用单个序列(例如,使用多个触发器)。
您必须在数据库对象代码中搜索序列名称,以查看可以使用它的所有位置。
即便如此,你也可能会错过,因为你可以使用PLSQL代码从任何应用程序中的序列中获得下一个值。
答案 1 :(得分:0)
序列和存储在数据库sys表中的表之间没有关系。您可以创建一个