下面的查询将返回数据库中的所有存储过程的列表,以及关于每个存储过程的基本信息:
SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_TYPE = 'PROCEDURE'
的ROUTINE_NAME,ROUTINE_SCHEMA和ROUTINE_DEFINITION列通常是最有用的。
SELECT * FROM sys.objects WHERE type = 'P'
SELECT * FROM sys.procedures
请注意,这个版本拥有从选择一个优势sys.objects,因为它包括了其他列is_auto_executed,is_execution_replicated,is_repl_serializable,和skips_repl_constraints。
SELECT * FROM sysobjects WHERE type = 'P'
请注意,输出包含绝不会涉及到存储过程的列。
下一组查询将返回包含字符串“SEARCHTERM”数据库中的所有存储过程:
SELECT o.name FROM syscomments c INNER JOIN sysobjects o ON c.id=o.id WHEREo.xtype= 'P' ANDc.TEXTLIKE '%SearchTerm%'
SELECT p.name FROMsys.sql_modulesAS m INNER JOINsys.proceduresAS p ONm.object_id= p.object_id WHERE definition LIKE '%SearchTerm%'