![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
No recuerdo que se pudiera hacer eso, creo que deben ser todos los campos.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#2
|
|||
|
|||
|
Problemas al Insertar registros de una tabla a otra periódicamente
Gracias por contestar Casimiro.
Si pongo todos los campos (tb el ID) me sale el mismo error: 'You have an error in your SQL sintax; check de manual.." He cambiado por esta otra y tampoco.. 'INSERT INTO TablaDestino (SELECT ID,DT,TIME,V1,V2 FROM TablaOrigen ORDER BY ID ASC LIMIT 100) ORDER BY ID' Pero lo desconcertante para mí es que, tanto en ésta última como en la más sencilla y que debería funcionar ('INSERT INTO TablaDestino SELECT * FROM TablaOrigen ORDER BY ID ASC LIMIT 100'), la instrucción la haga bien la primera vez y luego salga el error.. Porque entonces no puede ser un error de sintaxis.. Puede ser que al borrar de la tabla origen los 100 ya copiados pase algo con los índices que a mí se me escapa? En las tablas no veo ningún indice duplicado ni saltado.. Aparentemente lo hace bien cada vez que lo pongo en marcha (solo que solo lo hace una vez y a la siguiente sale el error). Alguna sugerencia? Muchas gracias! |
|
#3
|
||||
|
||||
|
Habría que ver el código que usas, poco más podemos ayudar con esa información.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#4
|
|||
|
|||
|
Cita:
procedure TFprincipal.THaonlineTimer(Sender: TObject); VAR idprimero:integer; begin Consulta.Close; Consulta.SQL.Add('INSERT INTO '+Tabladestino.TableName+' SELECT * FROM '+TablaOrigen.TableName+' ORDER BY ID ASC LIMIT 100'); Consulta.ExecSQL; Tabladestino.ApplyUpdates; TablaOrigen.Open; TablaOrigen.first; idprimero:=TablaOrigen.Fieldbyname('ID').asinteger; Consulta.Close; Consulta.SQL.Clear; Consulta.SQL.Add('DELETE FROM '+TablaOrigen.TableName); Consulta.SQL.Add(' WHERE ID>=:miID1 AND ID<=:miID2'); Consulta.ParamByName('miID1').asinteger:= idprimero; Consulta.ParamByName('miID2').asinteger:= idprimero+99; Consulta.ExecSQL; TablaOrigen.ApplyUpdates; TablaOrigen.close; end; Las Tablas tienen la propiedad cachedupdates a true. El procedimiento es un evento Ontimer que se ejecuta cada 5 sg. Si necesitáis información distinta a ésta me decís.. Gracias |
|
#5
|
|||
|
|||
|
hola a todos!!
Prueba añadiendo un SQL.clear antes de hacer la consulta INSERT INTO (linea en rojo del código)
|
|
#6
|
||||
|
||||
|
Cita:
Siempre utilizo sql.text en lugar de add, porque así no hay problema nunca.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#7
|
|||
|
|||
|
Cita:
Ah y utilizaré las etiquetas! Un saludo y gracias de nuevo |
|
#8
|
|||
|
|||
|
Cita:
Está claro que el ojo no ve lo evidente a veces.. Podía haber estado semanas sin darme cuenta!!!Gracias de nuevo ![]() |
|
#9
|
||||
|
||||
|
No olvides usar las etiquetas para el código.
![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| actualizar tabla al insertar en otra tabla | hybrid | Conexión con bases de datos | 14 | 02-12-2009 15:09:13 |
| enviar registros de una tabla a un campo de otra tabla a travez de ciclo IF en MYSQL | CLUSTERBIT | SQL | 8 | 23-10-2008 15:50:03 |
| Dbgrid para insertar en una tabla pero cogiendo datos de otra tabla | taru | MySQL | 1 | 27-07-2006 15:36:12 |
| Seleccionar registros en una tabla, envio, e insercion en otra tabla!! | EfrainSanmiguel | Conexión con bases de datos | 3 | 21-10-2004 01:12:43 |
| Como insertar datos de una tabla en otra tabla? | Salomon | Firebird e Interbase | 1 | 28-08-2003 11:29:40 |
|