Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
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 23-09-2011
jasmad jasmad is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 75
Poder: 13
jasmad Va por buen camino
?Como realizar un insert de multiples filas con tablas de diferentes bases de datos?

el insert de multiples filas permite realizar una varias inserciones en una columna sin tener que insertar los demas datos de la fila... yo se que esto esto es posible exportando datos de una misma base de datos por ejemplo:
Código SQL [-]
INSERT INTO tMarcas
(marca)
SELECT DISTINCT marca FROM tCoches;

pero no se podra hacer esto on tablas de otra base de datos, talvez por programacion utilizando componentes como Zeos?
Responder Con Cita
  #2  
Antiguo 23-09-2011
Avatar de olbeup
olbeup olbeup is offline
Miembro
 
Registrado: jul 2005
Ubicación: Santiago de la Ribera (España)
Posts: 685
Poder: 19
olbeup Va camino a la fama
No se a que te refieres, si tu quieres añadir en una tabla, de distintas base de datos lo que tienes que hacer es:
Código SQL [-]
INSERT INTO Tabla1
  (
    CODIGO
    ,NOMBRE
    ,DIRECCION
    ,DIRECCION2
  )
SELECT
    T2.CODIGO
    ,T2.NOMBRE
    ,T2.DIRECCION
    ,T3.DIRECCION
  FROM Tabla2 AS T2
    INNER JOIN Tabla3 AS T3
      ON T2.CODIGO = T3.CODIGO
  WHERE T2.NOMBRE LIKE 'PEDRO'
Espere que te haya servido como ejemplo.

Un saludo
Responder Con Cita
  #3  
Antiguo 30-09-2011
jangel_ramirezm jangel_ramirezm is offline
Miembro
 
Registrado: ago 2007
Ubicación: León Gto. Mex.
Posts: 39
Poder: 0
jangel_ramirezm Va por buen camino
En sql server seria algo asi como:

Insert into nombre_tabla (c1, c2, c3)
select c1, c2, c3
from nombre_otra_base.dbo.nombre_tabla

siempre y cuando las bases de datos esten en la misma instancia del servidor.

Saludos
Responder Con Cita
  #4  
Antiguo 04-10-2011
jasmad jasmad is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 75
Poder: 13
jasmad Va por buen camino
Cita:
Empezado por olbeup Ver Mensaje
No se a que te refieres, si tu quieres añadir en una tabla, de distintas base de datos lo que tienes que hacer es:
Código SQL [-]INSERT INTO Tabla1 ( CODIGO ,NOMBRE ,DIRECCION ,DIRECCION2 ) SELECT T2.CODIGO ,T2.NOMBRE ,T2.DIRECCION ,T3.DIRECCION FROM Tabla2 AS T2 INNER JOIN Tabla3 AS T3 ON T2.CODIGO = T3.CODIGO WHERE T2.NOMBRE LIKE 'PEDRO'

Espere que te haya servido como ejemplo.

Un saludo
gracias por tu respuesta pero lo que pasa es que eso es para tablas de la misma base de datos y lo que yo ocupo es tomar tablas que no estan en una misma base de datos.
Responder Con Cita
  #5  
Antiguo 04-10-2011
jasmad jasmad is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 75
Poder: 13
jasmad Va por buen camino
Cita:
Empezado por jangel_ramirezm Ver Mensaje
En sql server seria algo asi como:

Insert into nombre_tabla (c1, c2, c3)
select c1, c2, c3
from nombre_otra_base.dbo.nombre_tabla

siempre y cuando las bases de datos esten en la misma instancia del servidor.

Saludos
eso me suena sera probarlo en firebird gracias
Responder Con Cita
  #6  
Antiguo 19-10-2011
jasmad jasmad is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 75
Poder: 13
jasmad Va por buen camino
compa eso no sirve para firebird creo que es por el hecho que las bds en firebird son archivos nose...
sigo buscando...
Responder Con Cita
  #7  
Antiguo 19-10-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
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 jasmad Ver Mensaje
compa eso no sirve para firebird creo que es por el hecho que las bds en firebird son archivos nose...
sigo buscando...
¿Qué son "archivos nose"?
Responder Con Cita
  #8  
Antiguo 24-10-2011
jasmad jasmad is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 75
Poder: 13
jasmad Va por buen camino
eso es una falta ortografica disculpa
corrijo:
eso no sirve para firebird creo que es por el hecho que las bds en firebird son archivos, no se
Responder Con Cita
  #9  
Antiguo 24-10-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
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 jasmad Ver Mensaje
corrijo:
eso no sirve para firebird creo que es por el hecho que las bds en firebird son archivos, no se
Sí, pero no se entiende lo que quieres decir con eso, todos las bases de datos y todos los programas, son archivos, ficheros, o como gustes llamarles, ¿pero qué quiéres decir?
Responder Con Cita
  #10  
Antiguo 24-10-2011
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
Es tan simple como la sintaxis SQL que dice asi:

BASE_DATOS.TABLA.CAMPO

Ergo la solución ya te la puso jasmad y si funciona tanto para FB como para MySQL. Siempre y cuando las bases de datos se encuentren en el mismo servidor y el usuario tenga privilegios adecuados en cada una de las bases de datos.

Lo que no se puede hacer al menos ni en FB ni en MYSQL es usar bases de datos ubicadas en servidores diferentes.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #11  
Antiguo 27-10-2011
jasmad jasmad is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 75
Poder: 13
jasmad Va por buen camino
disculpa azid pero eso no me funciona de ninguna manera...

entro al ibexpert,
conecto dos archivos .FBD,
abro un SQLEditor del firebird ,
y hago la siguiente consulta:
Código SQL [-]
insert into tablaProba1(NOMBRE,APELLIDOS)
select name, lastName
FROM basedatos2.tablaProba2

y pasa que el mismo ibexpert genera error...
Responder Con Cita
  #12  
Antiguo 30-10-2011
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
En MySQL funciona sin problemas aqui tienes un link de la sintaxis y ejemplos, en FB ya no estoy tan seguro ya que no lo manejo mucho (me da cus cus eso de todo en un solo archivo). Revisa el link y quiza te eche una luz.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #13  
Antiguo 31-10-2011
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
En FB, no sé en qué versión se ha implementado, creo es en 2.0 o 2.5 (no lo tengo claro).

En todo caso, lo que sí funciona en FB 1.0 y superior es una tabla externa: Creas una tabla que guarda todo en un .txt, después insertas los registros y borras la tabla (al borrar una tabla externa es cuando se llena el archivo .txt), después en la otra BBDD, haces lo mismo: creas una tabla externa (llamando a ese mismo archivo y tendrás todos los registros).

Llegados a este punto tienes la tabla externa (que es una tabla más de tu BBDD) donde están los registros a insertar y en la misma BBDD tienes la tabla destino.

Obviamente la tabla de destino y origen deben tener la misma estructura (mismos campos y longitudes para que no haya truncamiento ni cambios de formatos)

Código SQL [-]
create table  tablaIO external "c:\mio.txt"(
nombre varchar(30), 
ape varchar(40)
)

commit work;

insert into tablaIO
values ( select * from tablaOrigen);

drop table tablaIO;

commit work;

y la importación desde la segunda BBDD es casi lo mismo:
- crear tabla externa (que en realidad ya existe y tiene los registros exportados)
- el insert into es al revés, pillas desde tablaIO e insertas en tu tabla de destino
- borras tablaIO y commit.

PD: Hecho de memoria, puede tener algún error. Si eso comenta e intentaré afinar un poco más.
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
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 acceso a multiples bases de datos ferdanjua Firebird e Interbase 2 17-08-2010 13:59:08
Servidor con multiples bases de datos firebird drkirocorp Conexión con bases de datos 5 15-12-2009 18:54:55
Como realizar consultas entre dos bases de datos jfgonzalez Conexión con bases de datos 1 20-10-2005 02:52:48
JOIN de dos tablas en dos bases de datos diferentes gluglu Firebird e Interbase 3 12-02-2005 13:39:48
Join de tablas en Bases de Datos diferentes gluglu Conexión con bases de datos 2 09-02-2005 11:32:31


La franja horaria es GMT +2. Ahora son las 15:30:57.


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