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

buscar Clave Primaria duplicada

Estas en el tema de buscar Clave Primaria duplicada en el foro de Bases de Datos General en Foros del Web. Hola tengo una tabla 10000 registros donde, un determinado proceso inserta estos datos a una tabla luego de una luego de verificar que no haya ...
  #1 (permalink)  
Antiguo 29/03/2003, 09:48
 
Fecha de Ingreso: julio-2002
Mensajes: 22
Antigüedad: 21 años, 9 meses
Puntos: 0
buscar Clave Primaria duplicada

Hola
tengo una tabla 10000 registros donde, un determinado proceso inserta estos datos a una tabla luego de una luego de verificar que no haya errores, la tabla en la que se insertara los datos tiene una clave primaria que esta compuesta por las 6 primeras columnas de la cual solo la sexta columna es diferente y las 5 primeras son iguales, pero al momento de realizar el proceso por programa me sale un error de que hay una infraccion, que se esta queriendo
insertar una clave duplicada, deseo saber como puedo por sql saber cual es la clave duplicada que me esta dando problemas creo que es utilizando un group by de las 6 columnas que son claves primaria pero no se como hacerlo con certeza ayudenme porfavor

doris
  #2 (permalink)  
Antiguo 29/03/2003, 10:13
 
Fecha de Ingreso: marzo-2003
Ubicación: Santa Marta
Mensajes: 30
Antigüedad: 21 años, 1 mes
Puntos: 0
De acuerdo Codigo Duplicado

Hola. La verdad seria interesante que colocaras el codigo para poder ayudarte mejor. Tengo una pregunta. Esa lleva se genera automaticamente, o solo el ultimo valor es dinamico.
Te doy una pauta.
Si ya tienes el codigo generado haz esta consulta.

sql = "SELECT unique codigo FROM tabla " _ &
" WHERE codigo = " & variable donde esta el codigo.

abres el resulset y si existe envia un mensaje de codigo duplicado y vuelves a generar un nuevo codigo.

Si lo deseas te puedo enviar una funcion donde se genera los codigos de clientes, automaticamente...
  #3 (permalink)  
Antiguo 29/03/2003, 10:44
Avatar de Jorge_Mota  
Fecha de Ingreso: diciembre-2002
Ubicación: Chapinlandia :-D
Mensajes: 725
Antigüedad: 21 años, 4 meses
Puntos: 11
mmm digamos podrias insertarlo en otra tabla digamos temp.


y haces:

insert into tuTabla select * from temp where id1 not in (select id1 from tuTabla) and id2 not in (select id2 from tuTabla) and id3 not in (select id3 from tytabla) and id4 not in (select id4 from tytabla)
and id5 not in (select id5 from tytabla)


esta gacho, pero por lo menos te aseguras que no estan en la tabla.
__________________
Jorge Mota
Blog
Gubiz estafa
  #4 (permalink)  
Antiguo 29/03/2003, 13:01
 
Fecha de Ingreso: marzo-2003
Ubicación: Santa Marta
Mensajes: 30
Antigüedad: 21 años, 1 mes
Puntos: 0
Hola jorge_Mota.
La verdad ese procedimiento desgasta mucho la maquina, el tiempo de proceso es muy lento, ademas, cuando uno hace subquerys, dentro de un query, es mas demorado. Asi funciona pero no estas respetando las normas de programacion estructurada. Prefiero hacer el query que realice, ya que la busqueda es mas rapida.

de todas forma te toca particionar la cadena, para poder buscar cada caracter en la tabla. La verdad me parece muy engorroso, pero si funciona, dale que no viene carro.
  #5 (permalink)  
Antiguo 29/03/2003, 13:23
 
Fecha de Ingreso: julio-2002
Mensajes: 22
Antigüedad: 21 años, 9 meses
Puntos: 0
Gracias chicos ya lo resolvi hice este query a la tabla temporal
select c_c_anho,c_c_mes,c_c_uni_contable,c_c_subdiario,c_ c_nro_comp,c_c_iden_mov, count(*) from importa_movimiento
group by c_c_anho,c_c_mes,c_c_uni_contable,c_c_subdiario,c_ c_nro_comp,c_c_iden_mov

en la cual veo cuales son los duplicados
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 13:15.