Ver Mensaje Individual
  #3 (permalink)  
Antiguo 15/07/2011, 13:02
alemas
 
Fecha de Ingreso: julio-2011
Ubicación: Capital Federal
Mensajes: 3
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Start transaction

Hola repara2, gracias por tu ayuda, finalmente la solución es esta:


BEGIN
declare salida int default 0;

declare continue handler for SQLEXCEPTION BEGIN
SET salida =1;
END;


START TRANSACTION;
SET @tablename1 ='labase.msal000_SEC01';
SET @tablename2='labase.msal001_SEC01';
SET @elimporte = 100 ;
SET @a =concat('INSERT INTO ',@tablename1 ,' (cod_secc,cod_mon,cod_bco,tip_cta,nro_cta) VALUES (1,1,1,1,77777)');
SET @b =concat('UPDATE ',@tablename2,' SET IMPORTE = IMPORTE + ',@elimporte,' WHERE cod_secc=1 and cod_mon =1 and cod_bco =1 and tip_cta=1 and nro_cta =77777');

PREPARE STM3 FROM @a;
EXECUTE STM3;

PREPARE STM4 FROM @b;
EXECUTE STM4;


IF ( salida =1) THEN
DROP PREPARE stmt3;
DROP PREPARE stm4;
ROLLBACK;
ELSE

DROP PREPARE stmt3;
DROP PREPARE stm4;
COMMIT;
END IF;
END