FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Duplicidad de registros
Saludos a todos.
Tengo una base de datos SQL Server 2017 la cual gestiono desde una aplicacion desarrollada en Delphi 2010. En mi base de datos tengo una tabla Facturas que contiene entre otros los siguientes campos: ID BIGINT (Obtiene su valor de una secuencia) CLIENTE VARCHAR(20) FECHA DATE PREFIJO CHAR(4) NUMERO BIGINT (este campo obtiene su valor de otra tabla que controla el consecutivo de según el prefijo) TOTAL MONEY El campo ID es la llave primaria y los campos PREFIJO y NUMERO conforman una llave única. Adicionalmente tengo un procedimiento almacenado que inserta registros en esta tabla. Por alguna razón que desconozco se estan insertando "registros duplicados" desde la aplicación. Es decir, se graba una factura, la aplicación despues de ejecutar el procedimiento de inserción genera un reporte en pdf que el usuario imprime y posteriormente se inserta otro registro con datos distintos (CLIENTE, TOTAL) pero los mismos PREFIJO y NUMERO. Aclaración. En la base de datos solo persiste uno de los dos registros pero la aplicación permite generar al momento de la inserción los dos reportes con todos los datos como si ambos registros existieran el la base de datos. He revisado los datos y no hay saltos en el consecutivo ID. Es como si la base de datos retrocediera en el tiempo despues de insertar el primer registro. Espero haber sido claro en mi explicación y que alguien pueda darme una luz sobre este tema. |
#2
|
||||
|
||||
Eso tiene toda la pinta de ser un error del código y me temo que poco te vamos a poder ayudar. Yo no he trabajado nunca con SQL Server pero, si no encuentras el problema, imagino que podrás crear una regla en la base de datos para que cuando se duplique por esos campos de un mensaje de error. De esa manera podrías chequear en qué momento falla.
Saludos
__________________
Be water my friend. |
#3
|
|||
|
|||
Gracias por tu respuesta.
No creo que sea un error en la programacion pues la aplicación viene funcionando de forma correcta hace mas de un año y no se han realizado modificaciones que puedan causar esto. Lo único que hice es migrar la base de datos de SQL Server 2012 a SQL Server 2017. Aquí comenzaron los problemas. |
#4
|
||||
|
||||
Si tienes una clave única "prefijo+número" y se repiten, está claro que no es una clave única.
|
#5
|
|||
|
|||
Gracias por responder.
Si es una clave única (PREFIJO, NUMERO). Tal vez no fui lo suficientemente claro. La cuestión es que se crea un registro PREFIJO+NUMERO, el usuario imprime un documento físico y por alguna razón en el futuro se inserta otro registro con datos totalmente distintos pero con el mismo PREFIJO+NUMERO pero sólo uno de los dos persiste en la base de datos, es como si el primer registro nunca hubiese existido. Como lo mencioné en mi primer comentario, el ID generado por la secuencia no tiene saltos. |
#6
|
||||
|
||||
Pues alguien hace un update.
|
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
como eliminar la duplicidad de datos | pame | SQL | 1 | 30-09-2013 18:57:03 |
Problemas para controlar la duplicidad de registros | loquillo3 | Varios | 12 | 13-09-2012 04:24:10 |
Duplicidad de registros | jimmy_aei | Firebird e Interbase | 10 | 05-01-2012 22:05:43 |
comprobar duplicidad campos sql | gonza_619 | Varios | 4 | 16-09-2010 16:40:50 |
por que duplicidad de registros con clientdataset sin ingresar registros ...mysql | Arturo | MySQL | 3 | 05-09-2006 18:39:37 |
|