![]() |
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 |
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... |
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. |
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. |
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 |
| La zona horaria es GMT -6. Ahora son las 03:29. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.