Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-07-2004
ronimaxh ronimaxh is offline
Miembro
 
Registrado: jun 2003
Ubicación: Rep. Dominicana
Posts: 307
Poder: 21
ronimaxh Va por buen camino
crear tabla desde una consulta sql...

Hola amigos del club, la pregunta es la Sgte. si tengo dos tablas una maestra de tablas y otra detalle, en la maestra se guarda el id, nombre de la tabla, en la otra detalle se guarda el id de la maestra, nombre del campo, el tipo de datos y la longitud.

Nota: el obtivo de esto es crear tablas dinamicas, que el usuario pueda crear el nombre de las tablas con los campos que quiera, (por eso utilizo dos tablas fijas donde se guardaran el nombre de las tablas y en la otra los compos de las tablas.

Nota2: Quiero a parti de esta consulta crear tablas:

select * from maestra, detalle where maestra.id=detalle.id
A partir de aqui es que quiero crear las tablas, pero no se como hacerlo favor de darme un ejemplo de como puedo hacer.

Nota3: Se que los manejadores de base de datos hacen esto, pero en este caso me toca hacerlo por un practica de universidad. Desde ya gracias!!!.
__________________
ronimaxh
Rep. Dominicana
Responder Con Cita
  #2  
Antiguo 25-07-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Lo que guardas en las tablas que mencionas son los atributos de las tablas a crear?? que no me queda muy claro, pero si es eso, faltará que construyas una sentencia Create table válida, a partir de esta información, y enviarla al motor de base de datos que estes usando.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #3  
Antiguo 26-07-2004
ronimaxh ronimaxh is offline
Miembro
 
Registrado: jun 2003
Ubicación: Rep. Dominicana
Posts: 307
Poder: 21
ronimaxh Va por buen camino
faltará que construyas una sentencia Create table válida, a partir de esta información, y enviarla al motor de base de datos que estes usando.
es exactamente lo que quiero hacer, pero no se como hacerlo denme una ayudita con esto desde ya gracias.
__________________
ronimaxh
Rep. Dominicana
Responder Con Cita
  #4  
Antiguo 26-07-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
La sintaxis exacta depende de tu motor.

Lo usual es

Código SQL [-]
Create table nombre_tabla (
  campo1 tipodato,
  campo2 tipodato
);

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #5  
Antiguo 26-07-2004
ronimaxh ronimaxh is offline
Miembro
 
Registrado: jun 2003
Ubicación: Rep. Dominicana
Posts: 307
Poder: 21
ronimaxh Va por buen camino
Gracias por contestar, el motor de base de datos que uso es interbase 6.5
si tengo que crear las tablas a partir de la informacion de la consulta, como seria eso....
__________________
ronimaxh
Rep. Dominicana
Responder Con Cita
  #6  
Antiguo 26-07-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Aunque creo que ese es tu trabajo, te daré un buen empujón...

seria algo como:
Código Delphi [-]
  s := 'create table ' + TablaTablasNombreTabla.Value + '(';
  while not TablaCampos.eof do
  Begin
    s := s + TablaCamposNombreCampo.Value ' ' + 
             TablaCamposTipoDato.Value + ' ';
    TablaCampos.Next;
    if not TablaCampos.eof Then
      s := s + ', ';
  end;
  s := s + ')';
  
  Query1.sql.Clear;
  Query1.sql.Add(s);
  try
    Query1.ExecSQL;
  except
    LoQueQuerrasHacerSiNoFunciona;
  end;

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #7  
Antiguo 27-07-2004
ronimaxh ronimaxh is offline
Miembro
 
Registrado: jun 2003
Ubicación: Rep. Dominicana
Posts: 307
Poder: 21
ronimaxh Va por buen camino
Gracias amigo por el empujon me sirvio de mucho....
__________________
ronimaxh
Rep. Dominicana
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


La franja horaria es GMT +2. Ahora son las 18:09:45.


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