回答
您可以使用:
select *
from
sys.procedures
where
name like '%name_of_proc%'
,如果你需要的代码,你可以看看在syscomments表
select text
from
syscomments c
inner join sys.procedures p on p.object_id = c.object_id
where
p.name like '%name_of_proc%'
编辑更新:
你也可以使用ansi标准版
SELECT *
FROM
INFORMATION_SCHEMA.ROUTINES
WHERE
ROUTINE_NAME LIKE '%name_of_proc%'
假设您在对象资源管理器详细信息(F7)显示存储过程的列表后,请点击过滤器按钮,并输入名称(或部分名称)。
非常感谢你我不知道过滤器的事情,但我从来没有看过那个按钮。 – 2016-05-12 14:57:37
这将为表和视图(除其他事项外),以及工作,不只是存储过程:
SELECT
'[' + s.name + '].[' + o.Name + ']',
o.type_desc
FROM
sys.objects o
JOIN sys.schemas s ON s.schema_id = o.schema_id
WHERE
o.name = 'CreateAllTheThings' -- if you are certain of the exact name
OR o.name LIKE '%CreateAllThe%' -- if you are not so certain
它也给你,这将是在任何非有用的模式名称微不足道的数据库(例如,您需要通过名称查询存储过程的查询)。
将旧版应用程序从sql 2005迁移到2016我的脚本在'@errorMessage'附近得到'不正确的语法,这不是非常有帮助。当我在SSSM中运行相同的SQL时,它添加了“in procedure'some_name'”,但是在任何地方都没有这样的存储过程!原来,这是一个触发器,你的查询发现它。谢谢! – mickeyf 2017-03-30 19:37:55
非常巧妙的技巧我偶然发现尝试一些SQL注入,在搜索框中的对象浏览器只使用你的百分比字符,这将搜索一切存储过程,函数,视图,表格,索引...我累了更:)
- 1. 如何按名称查找存储过程?
- 2. 按名称删除存储过程组
- 3. “找不到存储过程<过程名称>”
- 4. 查找存储过程
- 5. 仅复制存储过程名称
- 6. DataSet存储过程表名称
- 7. Get调用存储过程的名称
- 8. 存储过程名称标记
- 9. 按名称查找对象
- 10. CanJS按名称查找
- 11. 如何找到最长存储过程的名称?
- 12. 通过PID查找进程名称
- 13. 查找具有特定起始名称的所有存储过程
- 14. 查找通过JNDI名称
- 15. SQL Server 2012 - 将存储过程名称传递给另一个存储过程
- 16. 如何查找存储过程调用?
- 17. Grails:按名称查找域名
- 18. 使用存储过程查找文件名
- 19. 按名称查找MVC模板查看
- 20. 如何在Oracle 11g中使用列名,找到存储过程的名称
- 21. ASP.NET找不到存储过程,但存储过程存在
- 22. 找到git存储库的名称
- 23. 查找引用另一个存储过程的所有存储过程
- 24. js,查找/匹配/搜索元素是否按数据名称存储数据
- 25. 找不到存储过程“”。
- 26. 找不到存储过程
- 27. 找不到存储过程
- 28. 找不到存储过程
- 29. 找不到存储过程
- 30. “找不到存储过程”
如果你想获得名称的sp的文本,使用“sp_helptext SPNAME”更容易 – Ali 2017-11-08 17:42:59