Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-06-2021
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Poder: 17
jafera Va por buen camino
Insertar filas en medio de una tabla

Buenos dias a todos.


Después de un tiempo sin venir por aquí y sin tocar Delphi, he tenido la necesidad de recuperar un mini proyecto que realicé hace un tiempo y que utilizo para hacer la clasificación de una carrera ciclista por numero de vueltas.
Una vez tengo entrados los dorsales que participan en la prueba, abro una nueva pantalla que es el paso de la vuelta a la que voy añadiendo los dorsales que cruzan la linea en cada momento, asignado un numero de orden, numero de vuelta y dorsal.
Todo funciona bien si no se comete ningun error y como los humanos somos propensos a equivocarnos, ayer haciendo una prueba deje un dorsal por entrar y con las tablas Firebird, no tengo opción o no he sabido como poder insertar un registro en medio de dos ya entrados y que recalcule el campo orden.
Se que en tablas tipo access, esto se puede hacer, por lo que mi pregunta es si alguien sabe de otra base de datos que permita hacer esta acción facilmente.
Ejemplo


Dorsal Vuelta Orden
425 1 1
328 1 2
175 1 3

Repaso y me doy cuenta que entre el 328 y el 175, debo insertar el 555, aquí mi problema

Si alguien tiene una respuesta que me alumbre, pues sera bien agradecida como de costumbre.

Saludos

Josep
Responder Con Cita
  #2  
Antiguo 15-06-2021
Avatar de kuan-yiu
[kuan-yiu] kuan-yiu is offline
Miembro Premium
 
Registrado: jun 2006
Ubicación: Galicia. España.
Posts: 1.017
Poder: 19
kuan-yiu Va camino a la fama
Sin conocer exactamente tus tablas podrías hacer algo así.
* Primero debes modificar las tuplas siguientes:
Código SQL [-]
update tuTabla set orden=orden+1
where orden>=3
* Y luego añadir la tupla que te falta:
Código SQL [-]
insert into tuTabla (dorsal, vuelta, orden) values (555, 1, 3)
Responder Con Cita
  #3  
Antiguo 15-06-2021
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Poder: 20
movorack Va camino a la famamovorack Va camino a la fama
O hacer ese update en un trigger
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Insertar filas de una tabla a otra en distinta BD Gregorio Cíber Firebird e Interbase 2 23-12-2016 22:19:26
Exportar Tabla a XML por medio de TclientDataSet DANY Providers 6 06-08-2008 01:03:59
Insertar en tabla dbgrid recorriendo filas y columnas una a una Moparova Conexión con bases de datos 1 23-05-2008 14:52:16
Contar campos de una tabla por medio de un parametro!! Zakio14 Firebird e Interbase 9 22-02-2008 18:31:43
Insertar filas en Tabla(word) Loviedo Servers 2 14-11-2007 00:12:40


La franja horaria es GMT +2. Ahora son las 06:59:51.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi