Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

como validar registros duplicados con stored procedures en mysql

Estas en el tema de como validar registros duplicados con stored procedures en mysql en el foro de Mysql en Foros del Web. tengo una aplicacion en c# ke hace inserts a una bd en mysql mediante el uso de stored procedures. El problema es ke no se ...
  #1 (permalink)  
Antiguo 12/09/2010, 12:47
 
Fecha de Ingreso: octubre-2009
Mensajes: 125
Antigüedad: 14 años, 6 meses
Puntos: 2
como validar registros duplicados con stored procedures en mysql

tengo una aplicacion en c# ke hace inserts a una bd en mysql mediante el uso de stored procedures.

El problema es ke no se como validar el ingreso de registros duplicados

alguno me puede ayudar????????????
  #2 (permalink)  
Antiguo 12/09/2010, 16:04
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: como validar registros duplicados con stored procedures en mysql

Sin saber cómo están escritos esos SP, ni cómo es el diseño de la(s) base(s) de datos, no hay mucho que se pueda decir.
Una validación de registros duplicados requiere conocer el sistema para saber qué tipo de validaciones deben realizarse y contra qué tablas se hace.
En cualquier caso, siempre se recomienda que las validaciones se hagan en la aplicación y no en la base de datos o en sus stored procedures...
Es muchísimo mejor y más fácil controlar estas cosas en ese nivel y no desperdiciar recursos y tiempos de la base en fases muy básicas del proceso. Estas etapas (validaciones) pueden hacer que se reduzca la performance del DBMS por desperdiciar recursos que debería usar en cosas más importantes, como son las consultas y los SP de alta complejidad.

Además, si existen tales riesgos de duplicidad de datos, es muy probable que lo que haya es un error de diseño en la base, por falta de restricciones a esas mismas duplicidades potenciales.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 12/09/2010, 16:41
Avatar de Perr0  
Fecha de Ingreso: mayo-2005
Ubicación: Santiago de Chile, Chile
Mensajes: 676
Antigüedad: 18 años, 10 meses
Puntos: 79
Respuesta: como validar registros duplicados con stored procedures en mysql

Cita:
Iniciado por devilboy9999 Ver Mensaje
tengo una aplicacion en c# ke hace inserts a una bd en mysql mediante el uso de stored procedures.

El problema es ke no se como validar el ingreso de registros duplicados

alguno me puede ayudar????????????
Buenas, como dice gnzsoloyo, lo mejor es atacar eso de la aplicación

primero si tienes duplicidad, puede que haya una mala estructuracion a menos que tenga su proposito, puedes dejar el campo como PRIMARY KEY y al usar INSERT no te dejara crear otro registro idéntico al anterior
  #4 (permalink)  
Antiguo 12/09/2010, 18:19
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: como validar registros duplicados con stored procedures en mysql

Como adicional: Si existe al menos un campo no usado como PK que no debe repetirse, ese campo debe forzosamente ser declarado como UNIQUE en la tabla.
Esto se da cuando en una misma tabla hay más de una PK posible, es decir claves candidatas (CC) que no han sido usadas como PK. En esos casos es conveniente declararlas UNIQUE precisamente para evitar duplicidades.
Son cosas que hay que analizar en el momento de diseñar la base de datos.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: duplicados, procedures, registros, stored
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:38.