我需要在存储过程中搜索字符串。这是由用户创建的。所以我不能使用这个:
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/