Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   crear tabla desde una consulta sql... (https://www.clubdelphi.com/foros/showthread.php?t=12701)

ronimaxh 24-07-2004 18:37:01

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!!!.

jachguate 25-07-2004 02:41:52

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.

;)

ronimaxh 26-07-2004 17:55:01

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.

jachguate 26-07-2004 18:37:48

La sintaxis exacta depende de tu motor.

Lo usual es

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

Hasta luego.

;)

ronimaxh 26-07-2004 19:59:17

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....

jachguate 26-07-2004 20:26:28

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.

;)

ronimaxh 27-07-2004 15:57:57

Gracias amigo por el empujon me sirvio de mucho....


La franja horaria es GMT +2. Ahora son las 22:35:48.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi