回答
您可以使用:
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