tags:

views:

33

answers:

1

How to find if a column is used in any insert, update or delete statements in a stored procedure. I used a system query, but was not accurate. Can we check it manually in sql management studio or any query is there?

+1  A: 

The easier way is to use RedGate SQL Search.

But, you can build a query using INFORMATION_SCHEMA.ROUTINES and the ROUTINE_DEFINITION if you feel like.

edit:

You can use this

SELECT ROUTINE_NAME, ROUTINE_DEFINITION 
FROM INFORMATION_SCHEMA.ROUTINES 
WHERE ROUTINE_DEFINITION LIKE '%YOUR COLUMN %' 
    AND ROUTINE_TYPE='PROCEDURE'

or if you have more than one column with same name in database, you can use this.

select DISTINCT p.name
from sys.procedures p   
    INNER JOIN sys.sql_dependencies d on p.object_id = d.object_id
    INNER JOIN sys.tables t on t.object_id = d.referenced_major_id
    INNER JOIN INFORMATION_SCHEMA.ROUTINES R ON R.ROUTINE_NAME = p.name
WHERE R.ROUTINE_DEFINITION like '%YOUR COLUMN %' AND t.name = YOURTABLE 

But, I think you should use Search SQL

Bruno Costa
I'll try, but can I have some sample query as its pretty urgent?
engineerachu
Thanks. I'll try and let you know tomorrow.
engineerachu
The 2nd query is not working in SQL Server 2000?
engineerachu