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
2010-08-31 12:50:22
I'll try, but can I have some sample query as its pretty urgent?
engineerachu
2010-08-31 14:45:21
Thanks. I'll try and let you know tomorrow.
engineerachu
2010-08-31 17:23:08
The 2nd query is not working in SQL Server 2000?
engineerachu
2010-09-01 07:07:10