【发布时间】:2010-03-26 10:13:00
【问题描述】:
我正在尝试获取 t-sql 中的存储过程列表。我正在使用这条线:
exec sys.sp_stored_procedures;
我想过滤结果,所以我只获取用户创建的存储过程。我想过滤掉 sp_*、dt_*、fn_*、xp_* 以及其他所有属于系统存储过程且我不感兴趣的内容。如何操作返回的结果集?
使用 Sql Server 2008 express。
解决了!这是我使用的:
SELECT name FROM sys.procedures
WHERE [type] = 'P'
AND name NOT LIKE 'sp_%'
AND name NOT LIKE 'dt_%'
ORDER BY name ASC;
【问题讨论】:
-
本题题名与解题不符,能否将题名修改为“如何列出存储过程”?
-
我同意,这个标题很糟糕。我已经更新了。
-
您可以将第二和第三个 WHERE 子句替换为
is_ms_shipped = 0,以获得更可靠的用户定义过程列表。