【发布时间】:2019-02-12 06:58:57
【问题描述】:
我有一个表,其中有一列包含 BLOB 格式的 SQL 查询(仅限选择语句)。 我正在尝试找出一种方法来分析 SQL 查询,并检查每个 SQL 查询将访问哪些表。
有人做过类似的吗?
我现在的想法是创建一个 PLSQL 循环:
- 将 BLOB 转换为文本以获取 SQL 查询
- 为查询执行解释计划
- 查看explain plan的结果,用TABLE ACCESS获取所有行
编辑:如果有帮助,我使用的是 Oracle Database 11g 版本 11.2.0.4.0 - 64 位,并且对数据库具有只读访问权限,因此我需要创建一个不会侵入数据库的解决方案。
【问题讨论】:
-
如果您有权选择所有表,您的方法应该有效。但是,为什么将 SQL 查询存储为
BLOB而不是CLOB? -
@Wernfried Domscheit 我也有同样的问题。不幸的是我没有控制数据模型,我只能查看已经存储在DB中的数据..