Bases de Datos > MySQL

 Dudas

(1/1)

ScarFace:
Hola, estoy migrando mi base de datos de SQL Express 2008 a MySQL 5.5.9

Y tengo varias dudas....
1.-¿Existe algo como el TRY CATCH de M$ SQL en MySQL?

2.-  Tengo un procedimiento almacenado para mi tabla de clientes, en el controlo si el RFC del cliente ya existe en caso de existir actualiza el registro. El caso es que estoy viendo como funciona eso de las transacciones y se me ocurrio poner el insert despues de la sentencia update para que este me marque el siguiente error 'Duplicate entry 'A1' for key 'RFC'' y no lo está marcando y correr de nuevo el procedimiento almacenado pues me actualiza el registro con los datos anteriores, supongo porque no le estoy haciendo el roll back pero lo primero que me resulta extraño es que no me marque que la entrada es duplicada.


--- Código: SQL ---    BEGIN     START TRANSACTION;                                                                  SELECT SQL_CALC_FOUND_ROWS RFC FROM clientes            WHERE RFC = pRFC;                                         IF  FOUND_ROWS() = 0 THEN                       INSERT INTO clientes(RFC,RazonSocial,Calle,NInterior,NExterior,Asentamiento,CP,Municipio,Estado,Ciudad,Pais)                VALUES (pRFC,pRazonSocial,pCalle,pNInterior,pNExterior,pAsentamiento,pCP,pMunicipio,pEstado,pCiudad,'Mexico');                        ELSE                                         UPDATE clientes SET                 RazonSocial = pRazonSocial,                 Calle = pCalle ,                 NInterior = pNInterior ,                 NExterior = pNExterior,                 Asentamiento = pAsentamiento ,                 CP = pCP,                 Municipio = pMunicipio ,                 Estado = pEstado,                 Ciudad = pCiudad                 WHERE RFC = pRFC;                        INSERT INTO clientes(RFC,RazonSocial,Calle,NInterior,NExterior,Asentamiento,CP,Municipio,Estado,Ciudad,Pais)                VALUES (pRFC,pRazonSocial,pCalle,pNInterior,pNExterior,pAsentamiento,pCP,pMunicipio,pEstado,pCiudad,'Mexicon');                                    END IF;            COMMIT;       END  

Navegación

[0] Índice de Mensajes

Ir a la versión completa