CREATE FUNCTION dbo.FnGetDefinition(@ObjId INT)RETURNS @DefTable TABLE(ObjectDef VARCHAR(MAX))ASBEGININSERT INTO @DefTable SELECT object_definition(@ObjID)RETURNEND;GOSELECT P.name,D.ObjectDef FROM sys.procedures As PCROSS APPLY dbo.FnGetDefinition(p.object_id) As D
select o.name,sm.definitionfromsys.objects oinner joinsys.sql_modules smono.object_id = sm.object_idwhereo.type = 'p'
select OBJECT_SCHEMA_NAME(object_id) AS SchemaName, OBJECT_NAME(object_id) AS ObjectName, definition AS ObjectDefinitionFROM sys.sql_modules