sqlserver 存储过程 保存在哪张表里如何通过select语句查询哪些存储过程是包含某个关键词

2025-03-23 18:07:19
推荐回答(3个)
回答1:

存储过程保存的方式和每个表的保存方式是一样的,都保存在定义的数据库中,使用select * from sysobjects 可是实现查询,他与表的区分是表的xtype=‘U’ 而存储过程的类型是xtype='p',如查询存储过程的语句是:
select * from sysobjects where xtype='p' 如果想查看存储过程的源语句可以使用sp_helptext 命令,打开存储过程。比如要打开的存储过程的名字是pro_a 你需要在查询分析器里面选择存储过程所在的数据库,然后输入 sp_helptext pro_a 然后执行,就可以在下面的结果窗口显示存储过程的内容了

回答2:

select distinct a.name from sysobjects a,syscomments b
where a.id=b.id and a.type='p' and charindex('关键词',b.text)>0

回答3:

如上