15/07/2011, 13:02
|
| | 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 |