Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Tablas planas
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-04-2020
igamerpc igamerpc is offline
Miembro
 
Registrado: feb 2020
Posts: 53
Poder: 5
igamerpc Va por buen camino
insertar registro de otra tabla diferentes base de datos

Buenos dias, como insertar registro de otra tabla diferentes base de datos.



Código Delphi [-]
    CFG.MyQuery1.SQL.Clear;
    CFG.MyQuery1.SQL.Add('INSERT INTO '+bbdd+'.'+tabla2+');
    CFG.MyQuery1.SQL.Add('SELECT * FROM '+tabla1+' where CODIGO:=codigo);


Me parece eso no funciona.
Responder Con Cita
  #2  
Antiguo 01-04-2020
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Conectas a DB1
Lees registro de DB1
Conectas a DB2
Guardas registro en DB2
Cierras DB2
Cierras DB1
Responder Con Cita
  #3  
Antiguo 01-04-2020
igamerpc igamerpc is offline
Miembro
 
Registrado: feb 2020
Posts: 53
Poder: 5
igamerpc Va por buen camino
Ese es mas facil de hacer. Gracias. Pense funcionar como SQL pero no salio.

Lo unico tu metodo es facilisimo.
Responder Con Cita
  #4  
Antiguo 01-04-2020
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
Hacer la inserción como quieres también es posible y es hasta mas rápida. la sintaxis depende de cada motor.

MSSQL
Código SQL [-]
INSERT INTO DB2.DBO.TABLE1
SELECT * FROM TABLE1 --Acá está apuntando a la DB conectada actualmente

para esto, el usuario debe tener permisos en ambas DB
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita
  #5  
Antiguo 01-04-2020
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
Cita:
Empezado por igamerpc Ver Mensaje
Buenos dias, como insertar registro de otra tabla diferentes base de datos.



Código Delphi [-]
    CFG.MyQuery1.SQL.Clear;
    CFG.MyQuery1.SQL.Add('INSERT INTO '+bbdd+'.'+tabla2+');
    CFG.MyQuery1.SQL.Add('SELECT * FROM '+tabla1+' where CODIGO:=codigo);


Me parece eso no funciona.

a que te refieres con tablas planas?
a tablas libres?

o que motor de base de datos estas usando?

si usas algun motor el error podria estar en que en el segundo query no hacer referencia a la base de datos donde se aloja la tabla1

('SELECT * FROM [servidor.database.dbo.]'+tabla1+' where CODIGO:=codigo)
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #6  
Antiguo 02-04-2020
igamerpc igamerpc is offline
Miembro
 
Registrado: feb 2020
Posts: 53
Poder: 5
igamerpc Va por buen camino
Código Delphi [-]
 CFG.MyTable2.Active:=True;
 CFG.MyTable2.Append;
 CFG.MyTable2.FieldByName('IDCODIGO').Value:=CFG.MyTable1.FieldByName('IDCODIGO').Value;
 CFG.MyTable2.FieldByName('NOMBRE').Value:= CFG.MyTable1.FieldByName('NOMBRE').Value;
 CFG.MyTable2.Post;


A ver ese dicen que son mas lento que Insert. El problema que sin pongo insert me da mas error y tampoco query.
Responder Con Cita
  #7  
Antiguo 02-04-2020
igamerpc igamerpc is offline
Miembro
 
Registrado: feb 2020
Posts: 53
Poder: 5
igamerpc Va por buen camino
funciona insert, primero leer tabla1, y luego insertar tabla2.
Responder Con Cita
  #8  
Antiguo 16-04-2020
igamerpc igamerpc is offline
Miembro
 
Registrado: feb 2020
Posts: 53
Poder: 5
igamerpc Va por buen camino
Lo intente con recorcount pero no funciono

Para pasar de mysql a otro mysql de otra base de datos, para que no se repita revisar. Solo insertan los nuevos.
La misma estructura pero diferente base de datos.



Código Delphi [-]
procedure TForm1.Insertar_Pueblo(Tabla_Pueblo:string; codigo:integer; codigonombre:string; pueblo:string; numeroHab:integer; Sender:TObject);
begin

  if MOD.MyConnection2.Connected=FALSE then
  MOD.MyConnection2.Connected:=TRUE;

  if MOD.MyConnection1.Connected=FALSE then
  MOD.MyConnection1.Connected:=TRUE; 

  MOD.MyTable2.TableName:=Tabla_Pueblo;
  MOD.MyTable2.Active:=True;

  MOD.MyTable1.TableName:=Tabla_Pueblo;
  MOD.MyTable1.Active:=True;

  MOD.MyQuery1.SQL.Clear;
  MOD.MyQuery1.SQL.Add('SELECT * FROM '+Tabla_Pueblo+'');
  MOD.MyQuery1.Active:=True;

  If MOD.MyQuery1.RecordCount = 0 then
  Begin

    MOD.MyCommand2.SQL.Clear;
    MOD.MyCommand2.SQL.Add('INSERT INTO '+Tabla_Pueblo+'(codigo, codigonombre, pueblo, numeroHab) VALUES(:codigo, :codigonombre, ueblo, :numeroHab)');
    MOD.MyCommand2.ParamByName('codigo').Value:=codigo;
    MOD.MyCommand2.ParamByName('codigonombre').Value:=codigonombre;
    MOD.MyCommand2.ParamByName('pueblo').Value:=pueblo;
    MOD.MyCommand2.ParamByName('numeroHab').Value:=numeroHab;

    Try
      MOD.MyCommand2.Execute;

    Except

    end;
  end;
  MOD.MyTable2.Active:=False;
  
end;


No insertan, sin select, se insertan pero revisar volver de principio. Tengo 600 registro
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 Registro Especifico de una Tabla a otra feliz-58 SQL 6 15-04-2014 21:53:18
insertar registro en una tabla detalle cuando otra general no tiene datos aun novato_erick SQL 11 28-09-2012 20:40:28
copiar de una tabla de una base de datos a otra tabla igual de otra base de datos ingabraham Conexión con bases de datos 1 14-10-2008 23:16:42
Mysql: copiar los campos de una tabla de una base de datos a otra tabla de otra base? patriram MySQL 4 02-11-2007 16:00:24
Dbgrid para insertar en una tabla pero cogiendo datos de otra tabla taru MySQL 1 27-07-2006 15:36:12


La franja horaria es GMT +2. Ahora son las 20:53:33.


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