关于查询存储过程问题

sqlserver2010,碰到一个奇怪的问题,下面两个语句都是查询存储过程包含了某个词语
但是两个查出来的结果不一样
select distinct b.name
from dbo.syscomments a, dbo.sysobjects b
where a.id=b.id and b.xtype='p' and a.text like '%MASTER..XP_CMDSHELL%'
order by name;
SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE routine_type='PROCEDURE' AND routine_definition LIKE 'MASTER..XP_CMDSHELL%';

这个可以查到
这个查不到

sql

2个回答

???这两个语句查询的表都不一样

但是这两个表都是系统的表,都可以用来查存储过程里面含有的字段

valage
valage 回复JonathanYan: 虽然是两个表,但是里面存放都是存储过程的语句,存储过程内容不可能不一样啊,为什么查出来会不一样?
接近 2 年之前 回复
JonathanYan
JonathanYan 你都说了这是两个表,两个表里的东西肯定不一样,查出来的肯定不一样。比如A表存A班同学名字,B表存B班,我查姓王的(where name like '%王%'),虽然查询方法相同但返回值肯定不一样
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐