加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 数据库 > MsSql > 正文

sql – 在所有数据库中搜索存储过程/函数

发布时间:2020-05-28 14:35:17 所属栏目:MsSql 来源:互联网
导读:我想在所有数据库中的所有过程/函数等中搜索特定文本.我设法从这个 answer创建了所需的查询,但看起来OBJECT_DEFINITION(OBJECT_ID(SPECIFIC_NAME))为除当前数据库之外的所有数据库返回NULL. sp_msforeachdb SELECT ? AS DB, SPECIFIC_NAME, OBJECT_DEFINITION

我想在所有数据库中的所有过程/函数等中搜索特定文本.我设法从这个 answer创建了所需的查询,但看起来OBJECT_DEFINITION(OBJECT_ID(SPECIFIC_NAME))为除当前数据库之外的所有数据库返回NULL.

sp_msforeachdb 'SELECT ''?'' AS DB,SPECIFIC_NAME,OBJECT_DEFINITION(OBJECT_ID(SPECIFIC_NAME)) FROM [?].INFORMATION_SCHEMA.ROUTINES'

解决方法

问题是OBJECT_ID不能以这种方式使用.它仅适用于当前数据库.尝试直接从INFORMATION_SCHEMA.ROUTINES返回ROUTINE_DEFINITION.这个限制为4000个字符.我将尝试在SO上找到我的其他答案,这使我的解决方法使用MS元数据视图.

看看这个:

Can you search SQL Server 2005 Stored Procedure content?

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读