我需要在存储过程中搜索字符串。这是由用户创建的。因此,我不能使用以下内容:
SELECT OBJECT_NAME(object_id), AS MYSPDEFINITION
FROM sys.procedures
WHERE OBJECT_DEFINITION(object_id) LIKE '%string%';我有一个列,其中包含存储过程,例如:"execute salarybyid“等等,在每一行中最多可达200。如何查找这些存储过程中是否有特定的字符串?
发布于 2016-05-12 08:08:06
就像这样,
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%'发布于 2016-05-11 21:56:35
试试.
SELECT OBJECT_NAME(OBJECT_ID) Proc_Name
,definition
FROM sys.sql_modules
WHERE OBJECTPROPERTY(OBJECT_ID, 'isprocedure') = 1
AND definition LIKE '%String%' https://stackoverflow.com/questions/37171963
复制相似问题