遍历 table 和列组合

Looping through table and column combinations

我需要制作一个脚本来遍历所有 table 和 select 那些列 名称已指定。

我可以找到指定名称的列,

SELECT sys.columns.name AS ColumnName, tables.name AS TableName 
FROM sys.columns 
JOIN sys.tables ON sys.columns.object_id = tables.object_id
                AND sys.columns.name LIKE 'name'

但是在 SQL 中如何循环遍历 select 语句的每一行并对 table TableName 和 [=13= 列执行更新命令],并将内容更新为类似 'Anon'?

我只是假设你搜索的是准确的名字,并没有使用像 %,?,_ 这样的通配符。您可以使用以下查询:

declare @query varchar(max), @val varchar(100);

set @val ='L';

SELECT @query = COALESCE(@query+ '; ','')+ 'update '+  s.name +'.' + t.name +' set '+ sys.columns.name +' = '''+ @val +''''
FROM sys.columns 
JOIN sys.tables t ON sys.columns.object_id = t.object_id
                AND sys.columns.name LIKE '%Name%'
join sys.schemas s on s.schema_id = t.schema_id


select @query
 
 exec (@query)