I'm trying to get a list of stored procedures in t-sql. I am using the line:
exec sys.sp_stored_procedures;
I would like to filter the results back though, so I only get user created stored procedures. I would like to filter out sp_*, dt_*, fn_*, xp_* and everything else that is a system stored procedure and no interest to me. How can I manipulate the result set returned?
Using Sql Server 2008 express.
Solved! Here is what I used:
SELECT name FROM sys.procedures
WHERE [type] = 'P'
AND name NOT LIKE 'sp_%'
AND name NOT LIKE 'dt_%'
ORDER BY name ASC;
Expand Databases, expand the database in which the procedure belongs, and then expand Programmability. Expand Stored Procedures, right-click the procedure and then select Script Stored Procedure as, and then select one of the following: Create To, Alter To, or Drop and Create To. Select New Query Editor Window.
Rather than using the Stored Procedure you can use the following views:
Select * From sys.procedures
Where [Type] = 'P'
or
Select * From Information_Schema.Routines
Select items from the sysobjects table and use a where clause type = 'P'
for stored procedures and filter on name
.
SELECT [Routine_Name]
FROM [INFORMATION_SCHEMA].[ROUTINES]
WHERE [ROUTINE_TYPE] = 'PROCEDURE'
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With