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