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

复制代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

万事俱备,就差一个程序员了

谢谢您,赏俺根辣条,尝尝鲜.谢

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值