Cita:
Empezado por gluglu
|
Pues probado y si no me he equivocado funciona
Gracias gluglu y a todos los que habeis aportado algo.
Para que funcionara he tenido que actulizar Firebird a una versión más moderna, pues esta instrucción funciona a partir de la 2.1. Una vez realizada la actualización he implantado este código... Ahora estoy probando si funciona bien o no, el código es este.
Cita:
ibquery1.SQL.Add('MERGE into ');
ibquery1.SQL.Add( Llistat2011);
ibquery1.SQL.Add(' d using Llistat o');
ibquery1.SQL.Add('on d.dia = o.dia and d.producte = o.producte and d.ruta = o.ruta');
ibquery1.SQL.Add('when matched then');
ibquery1.SQL.Add('Update set d.campo1 = o.campo1, ');
ibquery1.SQL.Add('d.campo2 = o.campo2, ');
ibquery1.SQL.Add('d.campo3 = o.campo3 ');
ibquery1.SQL.Add('when not matched then');
ibquery1.SQL.Add(' insert (d.PRODUCTE,d.campo1,d.campo2,d.campo3, d.DIRECCIO,d.RUTA,d.DIA,)');
ibquery1.SQL.Add('values (o.PRODUCTE,o.campo1,o.campo2,o.campo3, o.DIRECCIO,o.RUTA,o.DIA,)');
ibquery1.ExecSQL;
|
Nuevamente gracias.