gpt4 book ai didi

sql - 哪个 Oracle 表使用序列?

转载 作者:太空狗 更新时间:2023-10-30 01:46:45 30 4
gpt4 key购买 nike

有了序列,我需要找出哪个 table.column 获得它的值。据我所知,Oracle 没有跟踪这种关系。因此,在源代码中查找序列将是唯一的方法。是吗?

有人知道找出这种序列表关系的方法吗?

最佳答案

问题是 Oracle 允许我们使用一个序列来填充多个表中的列。可能需要这样做的场景包括父类(super class)型/子类型实现。

您可以使用数据字典中的依赖关系来识别关系。例如,如果您使用触发器来分配值,那么此查询将帮助您:

select ut.table_name
, ud.referenced_name as sequence_name
from user_dependencies ud
join user_triggers ut on (ut.trigger_name = ud.name)
where ud.type='TRIGGER'
and ud.referenced_type='SEQUENCE'
/

如果您使用 PL/SQL,那么您可以为 TYPE in ('PACKAGE BODY', 'PROCEDURE', 'FUNCTION') 编写类似的内容,尽管您仍然需要对源代码进行一些拖网搜索当您有多个命中时分配表和序列​​的代码。

关于sql - 哪个 Oracle 表使用序列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2363210/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com