Imaginem que têm uma base dados ( o mais provável é não precisarem de imaginar porque têm mesmo lol )
em que várias tabelas possuem um campo chamado “data_criacao” e precisam de actualizar esse campo em todas as tabelas mas não sabem sequer que tabelas têm esse campo “data_criacao”.
Vamos por passos.
1º - Script para achar esse campo
SELECT t.name AS table_name,
SCHEMA_NAME(schema_id) AS schema_name,
c.name AS column_name
FROM sys.tables AS t
INNER JOIN sys.columns c ON t.OBJECT_ID = c.OBJECT_ID
WHERE c.name LIKE ‘%data_criacao%’
ORDER BY schema_name, table_name;
O script para efectuar o update.
begin transaction
Não esquecer de verificar se esta tudo ok, e executar o commit que esta comentado…
Ter em atenção o tamanho máximo da varchar.. se tiverem muitas tabelas poderá não dar.. dúvido que tenham assim tantas..mas se tiverem insiram o resultado numa tabela temporária e para cada registo façam o exec
Qualquer dúvida, sugestão, correcção é só comentar
Abraços


Recent Comments