sql - 在存储过程中查找字符串

标签 sql sql-server-2008

我需要在存储过程中搜索字符串。这是由用户创建的。所以我不能使用这个:

SELECT OBJECT_NAME(object_id), AS MYSPDEFINITION
FROM sys.procedures
WHERE OBJECT_DEFINITION(object_id) LIKE '%string%';

我有一列包含存储过程,例如:“execute salarybyid”等,每行最多 200 个。如何查找这些存储过程是否具有特定字符串他们?

最佳答案

尝试这样,

SELECT ROUTINE_NAME
FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_DEFINITION like '%String%'

但是,它只会在编辑器中显示前 4000 个字符。

您的查询将给出整个例程

SELECT OBJECT_DEFINITION(object_id)
FROM sys.procedures
WHERE OBJECT_DEFINITION(object_id) LIKE '%String%'

关于sql - 在存储过程中查找字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37171963/

相关文章:

sql - 计算阶段之间的持续时间

sql - 将 varchar 转换为日期

sql - SELECT * INTO 保留 SQL Server 2008 中的 ORDER BY 但不保留 2012

sql-server - 执行 INNER JOIN 时出现重复结果

sql - 无法更新逻辑表 INSERTED 和 DELETED

sql - 在 SQL Server Compact Edition 中基于多个表更新行

php - 在有序的 Mysql 查询中获取第 i 到第 j 行

mysql - 更新 SQL 中的字段

sql-server-2008 - 重载下IIS SQL连接失败;临时重置 IIS 修复

sql - 查询具有多个子实体的 XML