首页 > 开发 > 综合 > 正文

用sp_stored_procedures 和 sp_helptext 找到遗忘的存储过程

2024-07-21 02:12:46
字体:
来源:转载
供稿:网友

当你需要寻找和使用那些很少被使用的存储过程时,你会发现自己无法记住数据库中所有的存储过程。当你寻找一个三到六个月才使用一次的存储过程时,尤其如此。
 

你可以用sp_stored_procedures来列出你的数据库中的所有存储过程,然后运行sp_helptext来查看过程的源代码并找到所需要的参数。

sp_stored_procedures返回所请求环境中的所有存储过程的清单。在下面的例子中,我们将会看到pubs数据库中有哪些存储过程。

use pubs
exec sp_stored_procedures
go

结果的前三列如下所示:

procedure_qualifier procedure_owner procedure_name
pubs dbo authorpub;1
pubs dbo byroyalty;1

(返回值的其它列大部分都设置为“为日后使用而保留”,因此你不必关心它们。)

得到返回的清单之后,假设authorpub(忽略返回结果中的分号和数字1)就是你想使用存储过程,那么你可能希望得到关于该存储过程的更多信息,这样,我们就可以运行sp_helptext来看看它的代码:

use pubs
exec sp_helptext 'authorpub'
go

让我们看看返回的结果——也就是该存储过程的全部脚本:

create   procedure dbo.authorpub
--declare procedure variables
@alname varchar(40) --input parameter
as
--assign columns to output and check for author name
select a.au_lname, author = a.au_id, [publisher] = p.pub_name
from  publishers p cross join authors a
where a.au_lname like @alname
 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表