視圖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%'