1

我正在寻找一种工具或在线资源,当给定 PL/SQL 代码时,它会提供有关执行 、insert和的表的信息。selectupdatedelete

例如:

TABLE   SELECT  INSERT  UPDATE  DELETE

v_empl   Yes      Yes    No       No
4

1 回答 1

0

它应该是静态的,即基于源的还是动态的(基于工作负载)?

查看 PL/SQL 的这个语法: https ://github.com/patrick133t/PLSQL

而这个 SQL 语法: https ://github.com/porcelli/plsql-parser

通过一些调整,您将能够从 PL/SQL 代码中提取所有 SQL 语句,并从所有 SQL 语句中提取所有表引用。

还要看DBA_DEPENDENCIES景色。Oracle 在内部维护着类似的信息。

另请注意,存在类似insert "from" select或可更新连接的语句,因此有时识别源表和目标表并非易事。

于 2013-08-27T12:36:36.040 回答