我需要在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%'
有这样的甲骨文?
给我一个线索。
最好的问候,
我需要在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%'
有这样的甲骨文?
给我一个线索。
最好的问候,
有关使用USER_SOURCE的解决方案,请参阅this question。
您可以查询ALL_SOURCE(包含源可以访问所有程序)。
或者,DBA_SOURCE描述了数据库中所有存储对象的文本源,并且USER_SOURCE仅包含存储对象的文本源。
在免费的Oracle DB工具“SQL Developer”中使用“查找数据库对象”向导。
准确地说,从Oracle下载并安装Oracle SQL Developer - >使用高级用户创建与数据库的新连接 - >在SQL Developer菜单中选择“View” - >打开菜单项“查找数据库对象” - >在左侧面板上打开一个查找数据库对象小部件 - >选择数据库连接 - >选择要搜索的特定模式 - >选择“所有源行”节点 - >键入a要搜索的字符串 - >单击Go。
预计它会在所选模式拥有的Triggers/Procedures/Functions/Packages的所有源代码中执行不区分大小写的通配符搜索,并显示来自每个对象的代码行示例代码行的全面搜索报告它位于。
尽管此链接可能会回答问题,但最好在此处包含答案的重要部分并提供供参考的链接。如果链接页面更改,则仅链接答案可能会失效。 – ProgramFOX 2014-03-08 10:09:47