我知道如何通过运行:
找到哪个表具有该列名select * From INFORMATION_SCHEMA.COLUMNS Where column_name = 'column value'
我现在需要的是找到哪些表具有某些列数据。 它属于哪个列并不重要,我可以找到它,我只是不知道要查看哪个表。
加入这些表不是解决方案,因为有很多表。
PLS。如果你有想法,请告诉我。 感谢。
答案 0 :(得分:1)
这会为你做这个工作吗?
declare @data varchar(50)
,@sql varchar(max)
select @data = '%test%'
create table #Temp ([Table] varchar(200), [Column] varchar(200), [Data] varchar(max))
select @sql = isnull(@sql, '') + 'insert into #Temp select ''' + sys.tables.name + ''', ''' + sys.columns.name + ''', ' + sys.columns.name + ' from [' + sys.tables.name + '] where [' + sys.columns.name + '] like ''' + @data + ''';'
from sys.tables
inner join sys.columns
on sys.columns.object_id = sys.tables.object_id
exec(@sql)
select * from #Temp order by [Table], [Column]
drop table #Temp