Ver Mensaje Individual
  #1  
Antiguo 08-06-2007
pvizcay pvizcay is offline
Miembro
 
Registrado: jun 2006
Posts: 147
Reputación: 18
pvizcay Va por buen camino
Question exportar a un script sql para luego restaurar a otra BD pero igual metadata

hola amigos del foro,

aca les dejo una cuestión que se me plantió a ver si alguien la soluciono primero..

tengo que agregarle a mi aplicación una función de exportación a un script sql (con DML Insert Into) para integrar la información en otra base de datos; osea no es un backup completo de la base que necesito, sino mas bien una exportación "selectiva" de los datos que el usuario necesite..

el principal tema es que en mi base de datos utilizo todas claves surrogativas o en lenguaje común IDs con generadores.. y en la base de datos destino esos generadores pueden ir en otra secuencia completamente distinta, por lo que necesito que se generen nuevamente (sino se puede dar que con el ID que estoy exportando ya exista en la BD de destino y viole el constraint primary key).. pero si en el script hago un gen_id(GEN, 1) en el valor de la PK, ¿cómo hago para enganchar ese valor con lo que se inserta en las tablas que tienen FK (claves extranjeras) a esa?

ejemplifico:
supongamos esta estructura sencilla
CREATE TABLE EMPRESA(ID Integer, ...)
CREATE TABLE FACTURA(ID Integer, ID_EMPRESA Integer, ...)
CREATE TABLE DETALLE(ID Integer, ID_FACTURA Integer, ...)

no puedo exportar los valores de los IDs al script por lo antes mencionado..

y si hago:
INSERT INTO EMPRESA(gen_id(GEN_EMPRESAS, 1), 'FULANITO SA', ...)
...
...

después cuando exporto los valores de las facturas de esa empresa

INSERT INTO FACTURA(gen_id(GEN_FACTURAS,1), ???, ....)

ahora no se con que ID se generó la empresa que exporte y que va en los signos "???"..

creo que se entiende bastante bien, ¿alguna sugerencia?

gracias desde ya, pablo
Responder Con Cita