数据库存储过程或者函数中,有可能在开发过程中写死了某些值,例如邮箱,在某人离职的时候,接替人必须要进行切换,如果才能按照关键字快速的搜索数据库存储过程及函数中的内容呢?
针对SQL server和Oracle分别进行介绍
1.SQL server(以2008的版本为例)
sys.sql_modules 系统表,会保存数据库对象ID和对象的内容,例如存储过程,存储过程的内容会在此表中保存
sys.objects 系统表,保存数据库对象ID和数据库对象名称,结合上面的表即可找到关键字所在的存储过程或者函数
举例
USE Budget go SELECT * FROM sys.objects WHERE object_id IN ( select t.object_id from sys.sql_modules t where t.definition like '%sunjian5%' )
执行后即可查询到
2.Oracle 以使用PL/SQL为例
PL/SQL直接提供了图形化的方式 TOOLS-->FIND DATABASE OBJECTS
输入你要搜索的关键字和你需要在哪些对象中搜索的范围即可查到