Saturday, 8 November 2014

Search by Column Value in All Referencing Tables in SQL SERVER

Search by Column Value in All Referencing Tables in SQL SERVER

DECLARE @sql nvarchar(255)
DECLARE @tablename nvarchar(255)
DECLARE @var varchar(50)
DECLARE @columnname nvarchar(100)
--Supply the column name and value here
SET @columnname= 'FirstName'
SET @var='FirstName'
DECLARE TableCol CURSOR FOR
SELECT t.name           
      FROM MyPractice2014.sys.columns AS c 
            INNER JOIN 
             MyPractice2014.sys.tables AS t 
            ON t.[object_id] = c.[object_id] 
        WHERE     UPPER(c.name) = @columnname order by t.name
OPEN TableCol
FETCH TableCol INTO @tablename
-- start the main processing loop.
WHILE @@Fetch_Status = 0
BEGIN
-- In this query 'Table_Name' is dummy column that'll display the current tablename as column header
SELECT @sql='select ''TABLE_NAME'' as '''+@tablename+''', * from '+@tablename+' where '+@columnname+'='+@var
EXEC(@sql)
--print @tablename
FETCH TableCol INTO @tablename
END
CLOSE TableCol
DEALLOCATE TableCol
RETURN
GO

No comments:

Post a Comment