Ver Mensaje Individual
  #1  
Antiguo 13-08-2010
Joe_Balda Joe_Balda is offline
Miembro
 
Registrado: ago 2010
Posts: 23
Reputación: 0
Joe_Balda Va por buen camino
insert or update dependiendo de PK

Buen dia gente del foro:

Estoy intentando realizar un Stored Procedure que inserte o modifique registros en una tabla dependiendo de su PK.

Buscando encontre en la web encontre un ejemplo que se ve como sigue:

Código SQL [-]BEGIN insert into t1 (id, c1, c2) values (:id, :c1, :c2) WHEN SQLCODE -803 DO update t1 set c1 = :c1, c2 = :c2 WHERE id = :id; END


El ejemplo funciona perfectamente pero yo lo reemplazo por algo asi


Código SQL [-]BEGIN insert into t1 (t1.id, t1.c1, t1.c2) select t2.id,t2.c1,t3.c1 from t2 inner join t3 on .... WHEN SQLCODE -803 DO update t1 set c1 = (Select c1 from t3 where t1.id = t3.id ); END


El stored procedure se genera y funciona , el problema que tengo es que la parte de INSERT solo la realiza si la tabla T1 esta vacia.

Alguna sugerencia o alternativa espero

Utilizo firebird 2.0 y IBOConsole.

saludos
Responder Con Cita