Usar a substituição num comando de actualização DB2

eu tenho uma necessidade rápida em que eu preciso atualizar os dados no meu db que está corrompido. Eu tenho algumas colunas de texto onde o texto contém   e embora tenhamos Corrigido o problema em código eu ainda preciso corrigir os dados corrompidos em db.

Acho que consigo.
UPDATE table_name 
   SET column_name=(
        SELECT REPLACE(colum_name, ' ', '') 
        FROM table_name 
        WHERE id=1234) 
 WHERE id=1234
Mas terei de o fazer individualmente para cada fila. Existe alguma pesquisa mais fácil que irá verificar todas as linhas na coluna em particular e remover a marca  ?

Obrigado pela ajuda.

Author: a_horse_with_no_name, 2014-02-21

2 answers

Acho que outros peritos estão a complicar a solução que só requer uma solução simples.UPDATE:
UPDATE table_name SET column_name = REPLACE(column_name, ' ', '') 
  WHERE column_name LIKE '% %'
 9
Author: mustaccio, 2014-02-24 16:14:24

Podes fazê-lo com um procedimento armazenado ou com um bloco anónimo

Devia ser algo assim.
begin
 declare atend boolean default false;
 declare val char(32);
 declare newstring char(32);
 declare c cursor for
  select col from table;

 open c;
 fetch c into val;
 while (atend = false) do
  set newstring = replace(val, ' ', '');
  update table set col = newstring where current of c;
  fetch c into val;
 end while;
end@
 1
Author: AngocA, 2014-02-21 11:40:28