Sábado 21 de Diciembre de 2024, 11:08
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Bases de Datos
»
MySQL
(Moderador:
F_Tanori
) »
Dudas
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Dudas (Leído 1961 veces)
ScarFace
Nuevo Miembro
Mensajes: 3
Dudas
«
en:
Martes 15 de Febrero de 2011, 20:39 »
0
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
Tweet
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Bases de Datos
»
MySQL
(Moderador:
F_Tanori
) »
Dudas