Somthing like this .. if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FindProc]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure [dbo].[FindProc]GOCREATE Proc FindProc( @pSearchText VarChar(800) -- Variable used for finding the table name)AsDeclare @QryString nVarchar(4000) -- Variable will be used for the dynamic queryDeclare @DbName Varchar(800) -- Variable for storing the database Namecreate table #TblDataBase(DbName varchar(1000),ProcName Varchar(80) )select @DbName = ''while @DbName < (select max(name) from master..sysdatabases)beginselect @DbName = min(name) from master..sysdatabases where [Name] > @DbName select @QryString = 'Select '''+ @DbName + ''' As DataBaseName, [Name] From [' + @DbName+']..Sysobjects sy Inner Join [' + @DbName + ']..SysComments Com On sy.[ID] = Com.[ID] Where Com.[Text] Like ''%' + @pSearchText + '%''' Insert #TblDataBase exec (@QryString)EndSelect Dbname As 'DataBase Name ', [ProcName] As 'Procedure Name' From #TblDataBaseDrop Table #TblDateBaseGOFindProc 'Create'
Chirag