sql查詢所有儲存過程內容 利用游標和臨時表

2021-05-21 23:48:54 字數 1114 閱讀 1932

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

endclose searchproc

deallocate searchprocgo

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

儲存過程系列之儲存過程sql查詢儲存過程的使用

1.查詢某個表被哪些儲存過程 以下簡稱 sp 使用到 select distinct object name id from syscomments where id in select object id from sys.objects where type p and text like ta...

儲存過程系列之儲存過程sql查詢儲存過程的使用

1.查詢某個表被哪些儲存過程 以下簡稱 sp 使用到 select distinct object name id from syscomments where id in select object id from sys.objects where type p and text like ta...

SQL技巧 查詢某個表關聯的所有儲存過程

關鍵字 sql技巧 在開發過程中,可能需要更改某乙個表的資料結構,或者更新資料。但你又不太清楚會造成什麼影響,遲遲不敢下手進行調整。筆者 快樂it 最近在做erp k3與oa藍凌介面時就遇到了這個問題,那是否有辦法知道我們所修改的table有哪些儲存過程引用了,哪些檢視關聯了即將要修改的表呢。答案是...