Retroceder   Foros del Web > Programación para sitios web > Bases de Datos

Respuesta
 
Herramientas Desplegado
Antiguo 29-mar-2003, 08:48   #1 (permalink)
doris está en el buen camino
 
Fecha de Ingreso: noviembre-2002
Mensajes: 22
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
doris está desconectado   Responder Citando
Antiguo 29-mar-2003, 09:13   #2 (permalink)
Gennys está en el buen camino
 
Fecha de Ingreso: marzo-2003
Ubicación: Santa Marta
Mensajes: 30
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...
Gennys está desconectado   Responder Citando
Antiguo 29-mar-2003, 09:44   #3 (permalink)
Jorge_Mota tiene algunos puntos positivos de karma
 
Avatar de Jorge_Mota
 
Fecha de Ingreso: diciembre-2002
Ubicación: Chapinlandia :-D
Mensajes: 712
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 está desconectado   Responder Citando
Antiguo 29-mar-2003, 12:01   #4 (permalink)
Gennys está en el buen camino
 
Fecha de Ingreso: marzo-2003
Ubicación: Santa Marta
Mensajes: 30
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.
Gennys está desconectado   Responder Citando
Antiguo 29-mar-2003, 12:23   #5 (permalink)
doris está en el buen camino
 
Fecha de Ingreso: noviembre-2002
Mensajes: 22
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
doris está desconectado   Responder Citando
Respuesta
Calificación: Calificación de Tema: 1 votos, 3,00 de promedio.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 04:47.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93