2011-02-16 54 views
1

我需要在Oracle过程,函数和触发器中查找字符串。如何在Oracle过程,函数和触发器中搜索字符串?

对于SQLServer的我用的是这样的:

SELECT DISTINCT so.name 
FROM syscomments sc 
INNER JOIN sysobjects so ON sc.id=so.id 
WHERE sc.TEXT LIKE '%m4_plf_par_periodo%' 

有这样的甲骨文?

给我一个线索。

最好的问候,

回答

1

有关使用USER_SOURCE的解决方案,请参阅this question

+0

尽管此链接可能会回答问题,但最好在此处包含答案的重要部分并提供供参考的链接。如果链接页面更改,则仅链接答案可能会失效。 – ProgramFOX 2014-03-08 10:09:47

3

您可以查询ALL_SOURCE(包含源可以访问所有程序)。

或者,DBA_SOURCE描述了数据库中所有存储对象的文本源,并且USER_SOURCE仅包含存储对象的文本源。

0

在免费的Oracle DB工具“SQL Developer”中使用“查找数据库对象”向导。

准确地说,从Oracle下载并安装Oracle SQL Developer - >使用高级用户创建与数据库的新连接 - >在SQL Developer菜单中选择“View” - >打开菜单项“查找数据库对象” - >在左侧面板上打开一个查找数据库对象小部件 - >选择数据库连接 - >选择要搜索的特定模式 - >选择“所有源行”节点 - >键入a要搜索的字符串 - >单击Go。

预计它会在所选模式拥有的Triggers/Procedures/Functions/Packages的所有源代码中执行不区分大小写的通配符搜索,并显示来自每个对象的代码行示例代码行的全面搜索报告它位于。