Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-02-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Pero esto no le va a poner un 0 al campo0 ?.
Osea, cero en todos los items ?.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #2  
Antiguo 07-02-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Caral Ver Mensaje
Hola
Pero esto no le va a poner un 0 al campo0 ?.
Osea, cero en todos los items ?.
Saludos
Bueno, puedes poner el valor que quieras, en mi caso es un número de un generador:
1. Extraer el número que toca, desde un generador
2. Ejecutar la sentencia.

Más o menos así: ejemplo:

Código SQL [-]
iID = GEN_ID(GEN_GLOBAL,1);

insert into tbapunteshistorico
select iID, a.* from tbapuntes a

Supongo que funcionará, voy a probarlo.
Responder Con Cita
  #3  
Antiguo 07-02-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Ah, ya decía yo que había gato encerrado en esto.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #4  
Antiguo 07-02-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Este tema lo deberías marcar aquí en Firebird.
Es muy interesante y educativo (todo un tutorial)
Por lo menos yo he aprendido muchísimo.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #5  
Antiguo 07-02-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Pues lo ponemos, así está más a mano
Responder Con Cita
  #6  
Antiguo 08-02-2012
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.410
Poder: 22
fjcg02 Va camino a la fama
Código SQL [-]
SET TERM ^ ;

CREATE OR ALTER PROCEDURE PRUEBA 
returns (
    consulta1 varchar(500))
as
declare variable consulta varchar(500);
declare variable campo varchar(250);
begin
  /* Procedure Text */
 CONSULTA1= 'INSERT INTO TABLA1 ';
 CONSULTA = ' SELECT ';
  for select f.rdb$field_name
    from rdb$relation_fields f
    left join rdb$fields fs on fs.rdb$field_name = f.rdb$field_source
    left join rdb$field_dimensions d on d.rdb$field_name = fs.rdb$field_name
    left join rdb$character_sets cr on fs.rdb$character_set_id = cr.rdb$character_set_id
    left join rdb$collations co on ((f.rdb$collation_id = co.rdb$collation_id) and
    (fs.rdb$character_set_id = co.rdb$character_set_id))
    where f.rdb$relation_name = 'TABLA1'
    order by f.rdb$field_position, d.rdb$dimension
    into :CAMPO
    do
     begin
       CONSULTA= CONSULTA||TRIM(CAMPO)||',' ;
       --suspend;
     end
     CONSULTA1=CONSULTA1||CONSULTA||' from TABLA2';
end^

Poniendo un par de parámetros que sean el nombre de la tabla y el del generador, no creo que sea demasiado difícil terminar el procedimiento.
Faltaría quitar la última coma de la relación de campos, pero lo dejo como ejercicio para los principiantes

Saludos
PD: Por supuesto que algún gurú dirá que se puede optimizar; claro que sí, pero no voy a poner todo el ejercicio resuelto.
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #7  
Antiguo 08-02-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por fjcg02 Ver Mensaje
PD: Por supuesto que algún gurú dirá que se puede optimizar; claro que sí, pero no voy a poner todo el ejercicio resuelto.
Claro, hombre, deja que trabajen las neuronas de los demás, que se van a atrofiar

Bueno, pienso que con todo lo comentado aquí ya puede servir de guía para problemas similares, abarcando distintos enfoques, métodos y formas diferentes de encarar un problema de ese tipo.

Gracias a todos
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
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


La franja horaria es GMT +2. Ahora son las 10:46:32.


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