我實際上在我的數據庫中有100個SP。我必須找到一組10個SP,其中有特別的評論。有沒有任何搜索查詢。在SP中搜索
在SP中搜索
回答
找到this文章,如果您使用SQL Server
我一定要保持這種代碼的拷貝爲我所用:)
而且您以後正是這不,它不只是爲評論工作,但似乎適用於SP中的所有文本。
編輯
,我們提供了簡單的代碼的副本,但都歸功於萊斯·史密斯
CREATE PROCEDURE Find_Text_In_SP
@StringToSearch varchar(100)
AS
SET @StringToSearch = '%' [email protected] + '%'
SELECT Distinct SO.Name
FROM sysobjects SO (NOLOCK)
INNER JOIN syscomments SC (NOLOCK) on SO.Id = SC.ID
AND SO.Type = 'P'
AND SC.Text LIKE @stringtosearch
ORDER BY SO.Name
GO
我不記得確切的名稱表,但它會像這樣的東西。試一試。
SELECT sysobjects.name
FROM syscomments, sysobjects
WHERE syscomments.id=sysobjects.id
WHERE syscomments.TEXT LIKE ‘%particular comment%’
選擇OBJECT_NAME(ID),*從syscomments中WHERE文本LIKE 'WhateverYouAreSearchingFor'
syscomments中的文本被割裂成4K – jaraics 2011-05-05 09:51:51
你可以使用這個INFORMATION_SCHEMA:
select *
from information_schema.routines
where routine_definition like '%your comment to find%'
記住,這只是看起來通過前4096個字符(我相信...) - 要搜索更多的字符,你必須直接查詢底層系統表。看一看在INFORMATION_SCHEMA.ROUTINES視圖的定義,看看哪個系統的表,那麼查詢
編輯:@裏奇的回答是,如果你需要查詢超過4096個字符
我你需要什麼不知道這是否是最好的解決方案,但下面的工作(儘管可能會很慢):
- 在SQL Server Management Studio中打開數據庫。
- 在對象資源管理器中,右鍵單擊數據庫任務>生成腳本。
- 單擊下一步按鈕3次直到您選擇對象類型步驟。
- 檢查存儲過程,然後單擊下一步。
- 單擊全選以選擇所有sp,或者如果您可以以某種方式限制sp,請只選擇要搜索的sp。
- 單擊完成,然後再次完成。
- 單擊關閉。
- 您現在應該擁有所有sp的腳本,因此您可以搜索它們。
請注意,如果字符串搜索跨越syscomments中記錄的邊界,syscomments搜索方法將失敗。
100%我想你將不得不腳本的存儲過程中進行版本控制庫等
建議考慮存儲每個存儲過程在一個單獨的文件數據庫(和商店),而不是僅僅改變他們就地在DB - 然後你可以使用你喜歡的編輯器做一個「查找」(與「替換」如果這是合適的)
在另一個SO問題發現這一點,學分去原來的回答者,gbn
SELECT
OBJECT_NAME(object_id)
FROM
sys.sql_modules
WHERE
definition LIKE '%' + 'WhatIWant' + '%'
它爲對象不再那麼4K
- 1. 搜索SP的關鍵字
- 2. 搜索在搜索框中
- 3. 搜索在搜索
- 4. 如何搜索例程的內容/(SP-Trigger-function)
- 5. SharePoint - 使用SP Designer編輯搜索頁面
- 6. 搜索:搜索()vs cts:搜索()在MarkLogic
- 7. 在BestBuy中搜索由UPC搜索
- 8. 搜索問號(?)在Azure中搜索
- 9. 在搜索欄中實現Google搜索
- 10. 在二叉搜索樹中搜索值
- 11. 在PHP中搜索Google搜索結果
- 12. 在搜索引擎中自動搜索
- 13. Oracle索引和SP性能
- 14. 短語搜索和高亮搜索:在Marklogic中搜索
- 15. 如何使用搜索:搜索API在txt文件中搜索?
- 16. 使用AJAX搜索引擎在Chrome中搜索搜索引擎
- 17. 在python中搜索索引
- 18. 在Hashtable中搜索
- 19. 搜索在NSDictionary中
- 20. 在GridView中搜索
- 21. 在ElasticSearch中搜索
- 22. 在NSMutableArray中搜索
- 23. 在TStrings中搜索
- 24. 在JTable中搜索
- 25. 在c#中搜索
- 26. 在mysql中搜索
- 27. 在NSMutableArray中搜索
- 28. 在AlertDialog中搜索
- 29. 在List中搜索
- 30. 在elasticsearch中搜索
syscomments中是零散的,看到克里斯汀的回答 – jaraics 2011-05-05 12:01:45