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 Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-09-2017
SmartZooft SmartZooft is offline
Miembro
 
Registrado: dic 2016
Posts: 22
Poder: 0
SmartZooft Va por buen camino
como incrementar valor en ibdatapump

Hola a todos, estoy copiando datos de una bd a otra, la pregunta es, alquien sabe como puedo incrementar el valor de un campo? específicamente es un campo llave de tipo entero que quiero se vaya incrementando en el proceso de copiado. Me salvarían la vida!
trabajo con interbase6 y estoy haciendo el copiado con ibDatapump 3.4
ojalá me puedan ayudar, muchas gracias.
Responder Con Cita
  #2  
Antiguo 30-09-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is online now
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Puedes tener un trigger en la base de datos que lo haga, mediante un generador. Es lo habitual.
Hay montones de ejemplos por los foros, aunque te paso un enlace de otro sitio que lo explica bien.
Responder Con Cita
  #3  
Antiguo 03-10-2017
SmartZooft SmartZooft is offline
Miembro
 
Registrado: dic 2016
Posts: 22
Poder: 0
SmartZooft Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Puedes tener un trigger en la base de datos que lo haga, mediante un generador. Es lo habitual.
Hay montones de ejemplos por los foros
Gracias casimiro, lo que quiero es que suceda dentro del datapump al hacer el copiado, aún así necesito hacer ésto que comentas?
Responder Con Cita
  #4  
Antiguo 03-10-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is online now
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Hace años que no uso ese programa, no recuerdo si tiene esa posibilidad.
Responder Con Cita
  #5  
Antiguo 03-10-2017
SmartZooft SmartZooft is offline
Miembro
 
Registrado: dic 2016
Posts: 22
Poder: 0
SmartZooft Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Hace años que no uso ese programa, no recuerdo si tiene esa posibilidad.
Gracias Casimiro.

ojalá alguien me pueda ayudar, me ahorrarían mucha talacha en Delphi!

Saludos
Responder Con Cita
  #6  
Antiguo 03-10-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is online now
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Debes hacerlo como te he dicho, es muy fácil y es lo que necesitas.
Además, ibdatapump no tiene esa opción porque acabo de ver la pantalla en su web.
Responder Con Cita
  #7  
Antiguo 03-10-2017
SmartZooft SmartZooft is offline
Miembro
 
Registrado: dic 2016
Posts: 22
Poder: 0
SmartZooft Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Debes hacerlo como te he dicho, es muy fácil y es lo que necesitas.
Además, ibdatapump no tiene esa opción porque acabo de ver la pantalla en su web.
Gracias, lo que hago actualmente es usar el datapump y las tablas que cambiaron sus llaves primarias las copio con una rutina en delphi. Precisamente esas rutinas son las que me quería ahorrar porque el datampump es muy rapido.

para ser mas claros, tengo una tabla que se llama historia y era hija de la tabla clientes, entonces tenía las llaves id_cliente y id_historia, pero decidimos separarlas, entonces ahora puse a la tabla historia un campo llave llamado id_consecutivo, por lo que necesito incrementar dicho campo. Datampump lo hace muy rapido pero no encuentro cómo incrementar ese campo llave en el bombeo.

espero no haber sido muy confuso.

Casimiro, imagino que estás ocupado pero si tuvieras un ejemplo básico de lo que me sugieres te lo agradecería infinitamente.

Gracias.
Responder Con Cita
  #8  
Antiguo 03-10-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is online now
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por SmartZooft Ver Mensaje
.. un ejemplo básico de lo que me sugieres te lo agradecería infinitamente.
En mi primera respuesta te puse un enlace.
Pero puedes buscar en los foros por "generator" y encontrarás varios hilos que se ha tratado el tema.
Es muy simple, no tienes que hacer nada en delphi, solamente crear un generador en la base de datos y un trigger before insert para que lo ejecute (Todo en la BD destino).
Código SQL [-]
CREATE GENERATOR GEN_TBAPUNTES_ID;
SET GENERATOR GEN_TBAPUNTES_ID TO 0;
Código SQL [-]
/* tbApuntes */
CREATE OR ALTER trigger tbapuntes_bi0 for tbapuntes
active before insert position 0
AS
BEGIN
  NEW.CODIGOAPUNTE = GEN_ID(GEN_TBAPUNTES_ID,1);
END
Otro enlace.
Responder Con Cita
  #9  
Antiguo 04-10-2017
SmartZooft SmartZooft is offline
Miembro
 
Registrado: dic 2016
Posts: 22
Poder: 0
SmartZooft Va por buen camino
Muy bien, muchas gracias por tu ayuda!!

Saludos
Responder Con Cita
  #10  
Antiguo 04-10-2017
SmartZooft SmartZooft is offline
Miembro
 
Registrado: dic 2016
Posts: 22
Poder: 0
SmartZooft Va por buen camino
aquí la solución

Hola a todos, ya lo logré y comparto la página donde encontré cómo hacerlo...

no tengo permitido etiquetar enlaces, así que se los pongo en texto...

clevercomponents.com/products/datapump/datapumpfaqs.asp#117

si tienen duda con gusto les puedo ayudar.
Responder Con Cita
  #11  
Antiguo 04-10-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is online now
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por SmartZooft Ver Mensaje
Hola a todos, ya lo logré y comparto la página donde encontré cómo hacerlo...
no tengo permitido etiquetar enlaces, así que se los pongo en texto...
clevercomponents.com/products/datapump/datapumpfaqs.asp#117
si tienen duda con gusto les puedo ayudar.
Me alegro.
Nada que ver con el enlace que te puse y ni con el código que te he adjuntado
Responder Con Cita
  #12  
Antiguo 04-10-2017
SmartZooft SmartZooft is offline
Miembro
 
Registrado: dic 2016
Posts: 22
Poder: 0
SmartZooft Va por buen camino
Casimiro, me sirvió mucho lo de los generadores, al final si se usan y se crean a mano para luego usarlos en el DataPump.

te agradezco mucho la ayuda.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Como Incrementar Secuencialmente un Numero de Comprobante Fiscal en sql server hondaalberto SQL 18 01-10-2015 10:48:45
Auto.incrementar yevabas Conexión con bases de datos 4 13-02-2012 18:44:04
Cómo incrementar fecha meses/dias con SQL/Firebird 2.1 Tcmn Firebird e Interbase 2 11-10-2010 21:00:46
Incrementar Campo sierraja Firebird e Interbase 6 05-05-2010 18:42:12
Incrementar campo según el valor de otro subzero Firebird e Interbase 3 06-08-2008 22:41:52


La franja horaria es GMT +2. Ahora son las 11:18:55.


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