利用SQL語句查找某數據庫中所有存儲過程包含的內容(轉)


Use 數據庫
DECLARE @ProcName varchar(50)
Create Table #tmpName(Content  varchar(2000))
Create Table #tmp(ProcName  varchar(2000),Content1 varchar(8000))
--定義一個游標
DECLARE SearchProc CURSOR FOR
--查詢數據庫中存儲過程的名稱,盡量去除系統PROC,可以根據crdate時間字段來尋找非系統PROC
select name from sysobjects where type='P' and name not like 'dt_%'
OPEN SearchProc
FETCH NEXT FROM SearchProc 
INTO @ProcName

WHILE @@FETCH_STATUS >=0
BEGIN
    Print @ProcName
    Insert Into #tmpName(Content) Exec sp_helptext @ProcName
    Insert Into #tmp(ProcName,Content1) select @ProcName,#tmpName.Content from #tmpName
    --填充完就清空一下臨時表
    Truncate table #tmpName
    FETCH NEXT FROM SearchProc
    INTO @ProcName
END
CLOSE SearchProc
DEALLOCATE SearchProc
GO

select ProcName from #tmp where Content1 like '%查找內容%' group by ProcName

select ProcName,Content1 from #tmp where  Content1 like '%查找內容%'

select ProcName,Content1 from #tmp where  procname='存儲過程名稱'
--刪除臨時表
Drop Table #tmpName
Drop Table #tmp


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM