FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Cita:
Cita:
Lo ideal sería poder recorrer los campos, al igual que se puede hacer desde delphi. Pero bueno, tu idea es bastante cercana a lo que necesito, será lo que use si no se "nos" ocurre otra cosa |
#2
|
||||
|
||||
Hola
En principio no se si se tendrá claro o no que la BD1 contiene los mismos campos que la BD2. Me imagino que lo que pretendes es que ese dato NO sea relevante, osea, que no importe si los campos son los mismos o no ya que el store procedure pretendes que siempre sea el mismo. CREO, que la mejor manera seria primero hacer una comprobación de los campos, de las dos BD, esto se puede hacer mas o menos asi:
Esto te mostrara los campos de cada tabla; Haciendo una comparación de los campos podrás crear tu sentencia, especificando el campo o los campos faltantes por medio de variables. Por cierto, para saber mas datos de las tablas:
Ya sabes, de esto no se, pero trato de aportarle algo a mi Maestro. Saludos
__________________
Siempre Novato |
#3
|
||||
|
||||
¿Quién diría que eres un novato?
Ambas tablas siempre se diferenciarán en un campo. Si una se modifica, entonces la otra también. Código:
tabla-A campo1 campo2 campo3 campo4 campo5 campo6 campo7 campo8 ... campoXXX tabla-B campo0 <- único campo distinto campo1 campo2 campo3 campo4 campo5 campo6 campo7 campo8 ... campoXXX |
#4
|
||||
|
||||
Hola
Sigo desubicado, para variar. Pregunto: 1- Son siempre iguales, salvo por un campo ? 2- Los campos van creciendo, osea, van aumentando en su numero. ?. Lo digo por que en principio pusiste 4 campos en la primera tabla y cinco en la segunda y hora pones mas. Ya sabes que poco ayudare, pero si pregunto tal vez a alguien se le encienda la bombilla. Saludos
__________________
Siempre Novato |
#5
|
||||
|
||||
Bueno, me explico mejor, lo anterior era solamente un ejemplo, son dos tablas iguales salvo por un campo. Seguramente se ampliarán con el tiempo con el añadido de más campos porque se necesite hacer algo más.
En principio deben ser iguales salvo ese primer campo. O sea, 'casi' iguales Ahora mismo tiene 29 campos. Y lo que quiero conseguir es "olvidarme" de la misma el día que sea necesario añadir algún nuevo campo para controlar cualquier otra cosa, o sea, que dentro de unos meses, cuando ya te has olvidado de todo, no tenga que decir: "no se sabe por qué falla el programa", y después de mucho perder el tiempo: "el problema era que había que añadir el nuevo campo en un store procedure, y se nos había olvidado." Resumiendo, da igual los campos que tenga la tabla, lo que se intenta es no tener que controlarlo, que sea un proceso automático. Al igual que en delphi se puede hacer algo así como (de memoria):
|
#6
|
||||
|
||||
Bueno, me voy a dormir, mañana sigo.
¡¡¡GRACIAS!!! |
#7
|
||||
|
||||
Hola
Vale amigo, mañana lo harás sin problemas, la almohada es la mejor consejera. Buenas Noches. Saludos
__________________
Siempre Novato |
#8
|
||||
|
||||
Hola
Por eso pensé en que si se puede saber que campos tiene cada tabla y guardar los nombres en donde sea se puede usar la consulta que hizo caro, seria algo asi: Reviso los campos de cada tabla: Guardo los datos que como serán nombres de campos podrán ser string e inserto con los datos obtenidos usando la consulta de Caro: BD1/campos= dato1, dato2, dato3, dato4, dato5 BD2/campos= dato0, dato1, dato2, dato3, dato4, dato5 Me da la impresión de que la inserción de datos es mas fiable si se ponen los nombres de los campos. No se amigo, es solo una opinión sin mucha base; Bueno, sin base alguna. Saludos
__________________
Siempre Novato |
#9
|
||||
|
||||
Hola Casimiro.
Cita:
Código:
SQL := 'insert into TablaB'(; tablaA.open; while not tablaA.eof do begin for iX = 0 to tablaA.fields.count-1 do SQL := SQL + tablaA.fields[iX].FieldName + ', '; tablaA.next; end; SQL := SQL + ') select * from TablaA'; Conexion.ExecSQL(SQL);
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). Última edición por guillotmarc fecha: 07-02-2012 a las 18:53:48. |
#10
|
||||
|
||||
Hola, sí, desde delphi no hay problema, es que quiero hacerlo en la base de datos, desde un stored procedure, por ejemplo.
|
#11
|
|||
|
|||
Cita:
¿Por qué modificas la estructura de la tabla? ¿Por cambios en las reglas de negocio o por otra razón? Saludos TJose |
#12
|
||||
|
||||
Pues a mi la mejor solució, por lo compresiva a nivel humano es:
Sacado de la página de Firebird, lo busqué en google hace mucho tiempo como Insert into select =P Saludos.
__________________
mas confundido que Garavito el día del Niño. |
#13
|
||||
|
||||
Hola, de esta pregunta hace 10 meses, ya casi ni me acuerdo, pero el problema es que lleva un generador también, creo que no la has leido desde el principio
|
#14
|
||||
|
||||
El principio si, pero no todo jajajajjaa =P
__________________
mas confundido que Garavito el día del Niño. |
#15
|
||||
|
||||
Sí, por ese motivo, nuevos campos que son necesarios según los clientes van pidiendo nuevas funcionalidades.
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Opciones para copiar registros de una tabla a otra | pmtzg | Firebird e Interbase | 19 | 10-08-2011 18:30:40 |
copiar registros de una tabla a otra | Rofocale | Varios | 11 | 07-06-2011 13:23:55 |
copiar ciertos registros de una tabla a otra | JESUSNET | Conexión con bases de datos | 2 | 07-06-2008 16:53:13 |
Como copiar los datos de una tabla a otra | Shidalis | Varios | 2 | 21-07-2005 14:34:32 |
Copiar registros de una tabla a otra en Access con Delphi | Gelmin | Conexión con bases de datos | 1 | 01-07-2005 12:35:04 |
|