SQL Server - To find table name is exist in procedure or function in sql server 2005

Asked By balaji mogadali on 06-Feb-13 02:21 AM
hi frds,

i need a query that will search for a given  table name in procedure (or ) functions (or) triggers (or) views (or) etc..
here is my "Auth" table  is exist in multiple objects , i need to get list of all objects where my "Auth" is existed
Pls suggest  otherwise i need to check 1000 objects..

Undesrtand my problem and help with your suggestions.

thanks in advance
Irbaz Hashmi replied to balaji mogadali on 11-Feb-13 05:02 AM
declare @ProcName nvarchar(100) 
declare @ProcSortOrder int
declare @MyCursor CURSOR   
declare @MyCursor2 CURSOR   
declare @ProcUser varchar(100)
declare @ProcedureCode varchar(8000) 
declare @ScriptText varchar(8000) 


 select @ProcUser = 'my user'


   declare @Script TABLE
   (
     Script Text
   )


   declare @StoredProcs TABLE
   (
     SortOrder int,
     ProcedureName varchar(100),
     ProcedureCode varchar(7500)
   )


Insert Into @StoredProcs (SortOrder,ProcedureName,ProcedureCode)
SELECT TOP 100 0, upper(OBJECT_NAME(id)) , Text 
FROM syscomments
WHERE 
upper([text]) LIKE '%YOURTABLENAMEORTEXTTOFIND%'      
AND OBJECTPROPERTY(id, 'IsProcedure') = 1
GROUP BY OBJECT_NAME(id),Text


set nocount off


SET @MyCursor = CURSOR FAST_FORWARD 
FOR 


-- QUERY to SELECT SP


select ProcedureName,
        SortOrder =  (select count(*)
                        from @StoredProcs B
                        WHERE (A.ProcedureName <> B.ProcedureName)
                          and (REPLACE(UPPER(B.ProcedureCode),B.ProcedureName,'')
                               LIKE '%' + upper(A.ProcedureName) + '%')
                      ), ProcedureCode
    from @StoredProcs A 
    order by SortOrder Desc
   


OPEN @MyCursor 
FETCH NEXT FROM @MyCursor 
INTO @ProcName,@ProcSortOrder ,@ProcedureCode


   WHILE @@FETCH_STATUS = 0 
   BEGIN 
                        
               INSERT INTO @Script 
               SELECT CONVERT(TEXT, '--========================================== BEGIN =============================================') 
       
               INSERT INTO @Script 
               EXEC sp_helptext @ProcName      
       
                        INSERT INTO @Script 
                SELECT CONVERT(TEXT, 'GO') 


                        INSERT INTO @Script 
                SELECT CONVERT(TEXT, '--========================================== END =============================================') 


       FETCH NEXT FROM @MyCursor 
      INTO @ProcName,@ProcSortOrder ,@ProcedureCode 
   END 


CLOSE @MyCursor 
DEALLOCATE @MyCursor         






SELECT  * From  @Script