АР
declare @table sysname = ...;
select
formatmessage(N'update %s.%s set %s where %s;', quotename(t.table_schema), quotename(t.table_name), c.replaces, c.predicates)
from
(select isnull(parsename(@table, 2), N'dbo'), parsename(@table, 1)) t(table_schema, table_name) cross apply
(
select
string_agg(cast(quotename(COLUMN_NAME) as nvarchar(max)) + N' = replace(' + quotename(COLUMN_NAME) + N', ''a'', ''b'')', ', '),
string_agg(cast(quotename(COLUMN_NAME) as nvarchar(max)) + N' like ''%a%''', ' or ')
from
INFORMATION_SCHEMA.COLUMNS
where
TABLE_SCHEMA = table_schema and TABLE_NAME = table_name and
DATA_TYPE in (N'char', N'nchar', N'varchar', N'nvarchar', N'text', N'ntext')
) c (replaces, predicates);


