Ver Mensaje Individual
  #1  
Antiguo 29-03-2011
campiki campiki is offline
Miembro
 
Registrado: jun 2008
Posts: 25
Reputación: 0
campiki Va por buen camino
Reemplazar en lugar de insertar

He buscado por el foro pero no supe encontrarlo. Antes de todo gracias por la ayuda.

Uso Delphi 7 y firebird.

En un momento determinado creo una tabla y en ella grabo unos registros, estos los paso mediante sql a una segunda tabla.

Lo hago así...

Cita:
ibquery1.sql.Add('insert into ');
ibquery1.sql.Add( nomfitlli);
ibquery1.SQL.Add(' (Campo1, Campo2, Campo3, Campo4... etc)');
ibquery1.sql.Add('Select Campo1, Campo2, Campo3, Campo4... etc');
ibquery1.sql.Add('From LLISTAT');
ibquery1.ExecSQL;
El problema está que este proceso debe y puede ejecutarse más de una vez, pero si lo vuelvo a ejecutar me da error por duplicar la clave.

No sé cómo puedo hacer para que los registros si ya existen se reemplacen y si son nuevos se añadan.

Pd- Antes usaba el batchmove pero va muy lento...

Gracias de nuevo.
Responder Con Cita