Obtener registros repetidos

17/09/2003 - 18:24 por Juanma de Luelmo | Informe spam
Tengo una tabla (con muchos campos) en la que varias aplicaciones remotas
pueden introducir registros. En esta tabla no pueden existir dos registros
iguales, salvo el Identificador que es de tipo "uniqueidentifier". ¿Como
puedo controlar que no se introduzcan registros exactamente iguales?



He pensado en un Desencadenador que cada vez que se inserta un registro
compruebe si existe uno igual y en ese caso descarte la inserción. Si la
solución es esta ¿cómo lo hago para comparar campo a campo?



¿Podéis darme una solución? ¿o un camino a seguir?



Gracias por vuestra atención

Preguntas similare

Leer las respuestas

#1 Isaías
18/09/2003 - 03:27 | Informe spam
Hola

Para "impedir" que se introduzcan 2 registros iguales, va
en conjunto con la declaracion de una PK y definir las
llaves UNICAS.

Ahora bien, suponiendo que fueran 30 (por decir un numero)
columnas y se quisiera "impedir" la introduccion de un
registro EXACTAMENTE IGUAL a esas 30 columnas.

Haciendolo por un procedimiento:

CREATE PROCEDURE pr_ImpedirX30Cols
@col1 int,
@col2 char(30)
@colx..
@col30 int
AS

IF EXISTS(SELECT COL1 FROM MYTABLA WHERE
@COL1 = COL1 AND
@COL2 = COL2 AND
@COL
@COL30 = COL30)
BEGIN
SELECT '* ERROR *, REGISTRO REPETIDO'
RETURN(-1)
END

.COMPLEMENTO DEL CODIGO SQL.

Pero viendolo bien, deberia "analizar" muy bien su
registro y definir un PK o una llave UNICA.

Saludos.
Respuesta Responder a este mensaje
#2 Mariano Alvarez
18/09/2003 - 06:16 | Informe spam
Creale un constraint UNIQUE y relegale el manejo al SQL.


Jose Mariano Alvarez
Comunidad de base de datos
Grupo de Usuarios Microsoft
www.mug.org.ar


"Juanma de Luelmo" wrote in message
news:
Tengo una tabla (con muchos campos) en la que varias aplicaciones remotas
pueden introducir registros. En esta tabla no pueden existir dos registros
iguales, salvo el Identificador que es de tipo "uniqueidentifier". ¿Como
puedo controlar que no se introduzcan registros exactamente iguales?



He pensado en un Desencadenador que cada vez que se inserta un registro
compruebe si existe uno igual y en ese caso descarte la inserción. Si la
solución es esta ¿cómo lo hago para comparar campo a campo?



¿Podéis darme una solución? ¿o un camino a seguir?



Gracias por vuestra atención


Respuesta Responder a este mensaje
#3 Juanma de Luelmo
18/09/2003 - 09:16 | Informe spam
Gracias por las respuestas. Analizare vuestras propuestas y llevaré a cabo
la que mas se acerque a mis necesidades.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida