查询调用sequence的所有表以及对应的字段

[复制链接]
查看11 | 回复4 | 2010-10-8 09:31:21 | 显示全部楼层 |阅读模式
这几天新接了一个事,
要求找到数据库中所有的sequence被哪个表的哪个字段调用过了???现在只知道这些sequence一定是在trigger中被调用的,要求找出sequence与调用这个sequence的所有table以及column,并且比较一下这个column的最大值是否大于sequence的最大值.
目前还没有什么好的方法,只是在
select user_triggers.*
from user_source,user_triggers
where type='TRIGGER'
and upper(text) like '%'||seq_rec.sequence_name||'%NEXTVAL%'
and user_triggers.trigger_name=user_source.name;
可以找到相关的表,但怎么找到字段呢??
请高手不吝赐教
回复

使用道具 举报

千问 | 2010-10-8 09:31:21 | 显示全部楼层
找不到的,只能去看代码,建议找个强力搜索软件搜吧。因为对于一个sequence的nextval,我可以随便插入到任意一个表的任意一个字段中去,只要这个字段类型和大小正确。那么,你不去看代码的话是没有办法得到这些信息的
回复

使用道具 举报

千问 | 2010-10-8 09:31:21 | 显示全部楼层
嗯,不错!
回复

使用道具 举报

千问 | 2010-10-8 09:31:21 | 显示全部楼层
最初由 zhang41082 发布
[B]找不到的,只能去看代码,建议找个强力搜索软件搜吧。因为对于一个sequence的nextval,我可以随便插入到任意一个表的任意一个字段中去,只要这个字段类型和大小正确。那么,你不去看代码的话是没有办法得到这些信息的 [/B]


dba_dependencies
参考管理斑我的回复,或许...


回复

使用道具 举报

千问 | 2010-10-8 09:31:21 | 显示全部楼层
或者直接用FORM BUILDER及PL/SQL DEVELOPER中的搜索也可以。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行