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

ZDNet软件频道 时间:2003-09-11 作者:ZDNet China |  我要评论()
本文关键词:sqltips
当你需要寻找和使用那些很少被使用的存储过程时,你会发现自己无法记住数据库中所有的存储过程。当你寻找一个三到六个月才使用一次的存储过程时,尤其如此。
本文译自Builder.com,未经许可请勿转载当你需要寻找和使用那些很少被使用的存储过程时,你会发现自己无法记住数据库中所有的存储过程。当你寻找一个三到六个月才使用一次的存储过程时,尤其如此。

你可以用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


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134