SqlServer查找引用存儲過程的地方_字段在哪些表中


 

視圖syscomments中,注意字段id,text. 如果是存儲過程,text字段存儲的就是創建存儲的腳本。
視圖sysobjects中,注意字段name,id,xtype.

--查看所有函數(FN)中那些使用了存儲過程spWms_StorerInv
SELECT DISTINCT (so.name) AS name
FROM syscomments sc INNER JOIN sysobjects so ON sc.id = so.id
WHERE so.xtype = 'FN'
AND sc.text LIKE '%spWms_StorerInv%'

--查看所有存儲過程中(p)中那些使用了存儲過程spWms_StorerInv
SELECT DISTINCT (so.name) AS name
FROM syscomments sc INNER JOIN sysobjects so ON sc.id = so.id
WHERE so.xtype = 'p'
AND sc.text LIKE '%spWms_StorerInv%'

--查詢某個字段在那些表中出現過
select a.[name] from sysobjects a
left join(select [id],count(*) b from syscolumns where [name] ='ProjectStatus' group by [id] having count(*)>0) b
on a.[id]=b.[id]
where b.id is not null

 

--查詢特定的表(字段或者文字)在哪些存儲過程中被使用
SELECT DISTINCT OBJECT_NAME(id)--,text FROM syscomments WHERE id IN ( SELECT id FROM sysobjects WHERE type IN ( 'V', 'P' ,'TF') ) --V表示視圖,P表示存儲過程,TF表示函數 AND (text LIKE '%FindText%')
復制代碼
復制代碼
--查詢包含某文字的列以及表
SELECT  o.name 
        C.name
FROM    syscolumns C
        INNER JOIN sysobjects o ON o.id = C.id
                                   AND o.type = 'U'
WHERE   C.name LIKE '%Text%'
        OR C.name LIKE '%Text%'
復制代碼


免責聲明!

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



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