我想通过搜索我所有的程序包和函数的某个短语。既然可以使用toad检索编译过程的代码,我假设全文存储在某个数据字典表中,有人知道它在哪里吗?
lpwwtiir1#
你可以这样做
SELECT name, line, text FROM dba_source WHERE upper(text) like upper('%<<your_phrase>>%') escape '\'
vdzxcuhz2#
Toad的“object search”例程将查找ALL_SOURCE(以及数据字典的其他部分)。当然,这将仅限于允许连接的用户查看的对象。如果您可以访问DBA版本,那就太好了。如果没有,您将无法搜索所有内容。此外,如果您使用的是Oracle 7,或者您的数据库从Oracle 7迁移到了8i或9 i(不确定是10还是11),那么触发器源可能不会出现在user_source或all_source视图中。最好检查一下。我发现的使其出现的最简单方法是进行实际修改-例如添加一个空格-并重新编译触发器。
zynd9foi3#
你的意思是使用PL/SQL?或者只是使用TOAD?我知道你可以使用“查找对象”(或类似的)功能来手动搜索所有对象,如procs,表等......
3条答案
按热度按时间lpwwtiir1#
你可以这样做
vdzxcuhz2#
Toad的“object search”例程将查找ALL_SOURCE(以及数据字典的其他部分)。当然,这将仅限于允许连接的用户查看的对象。如果您可以访问DBA版本,那就太好了。如果没有,您将无法搜索所有内容。
此外,如果您使用的是Oracle 7,或者您的数据库从Oracle 7迁移到了8i或9 i(不确定是10还是11),那么触发器源可能不会出现在user_source或all_source视图中。最好检查一下。我发现的使其出现的最简单方法是进行实际修改-例如添加一个空格-并重新编译触发器。
zynd9foi3#
你的意思是使用PL/SQL?或者只是使用TOAD?我知道你可以使用“查找对象”(或类似的)功能来手动搜索所有对象,如procs,表等......