在存储过程中查找字符串

时间:2016-05-11 19:45:28

标签: sql sql-server-2008

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

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

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

2 个答案:

答案 0 :(得分:1)

试试这个,

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%'

答案 1 :(得分:0)

尝试类似......

1