A possible solution, as stated in the question, is to use the catalog to get the names of the tables you want to update and generate a set of update instructions that will finally be executed using the procedure sp_executesql. For example:
DECLARE @nomeColuna NVARCHAR(50) = 'aMinhaColuna' -- nome da coluna que pretende actualizar
DECLARE @sql NVARCHAR(MAX) = ''
SELECT @sql = @sql + 'UPDATE ' + t.name + ' SET ' + @nomeColuna + ' = ''QualquerCoisa'';'
FROM sys.columns c
INNER JOIN sys.tables t
ON c.object_id = t.object_id
WHERE c.name = @nomeColuna
EXEC sp_executesql @sql
Additionally, I recommend using the QUOTENAME as a measure to mitigate potential problems with columns containing "special characters".
Here is a small example in SQL Fiddle.
Note: This solution assumes that the database does not have a very high number of tables. In this case you can change the solution to use a loop/loop.
try to explain in more detail your problem. Perhaps it is better to put a piece of code than ever to help understanding.
– Um Programador
Look for examples of Triggers and Cursors, but I don’t know if SQL-Server has it, most databases don’t use it because it’s heavy, another way is to create controllers (in code and out of the database) to perform all database operations on your system, then just upgrade using it
– Sveen