Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MS SQL Server
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-04-2014
Neeruu Neeruu is offline
Miembro
 
Registrado: oct 2007
Posts: 485
Poder: 17
Neeruu Va por buen camino
Cool Generar Metadatos a partir de una consulta SQL.

Hola a todos...

Tengo una consulta, necesito generar o extraer, a partir de una consulta SQL, los metadatos para poder generar una tabla nueva.

Me explico mejor, tengo la siguiente consulta:

Código SQL [-]
SELECT T1.CAMPO1, 
           T1.CAMPO2,
           T2.CAMPO3
FROM TABLA1 T1
JOIN TABLA2 T2
ON (T1.CAMPO1 = T2.CAMPO1)

Los resultados de esta consulta tienen que ser volcados a una nueva tabla, el tema que tengo muchas consultas y cada consulta tiene muchos campos... por lo que tengo que ir viendo cada campo de la consulta, de que tabla salen, ir a la tabla y ver de que tipo son, etc...

Yo lo que necesitaría es poder decirle que me cree la tabla para poder volcar los datos, según la consulta...

O sea, si "T1.CAMPO1" es del tipo varchar(50) que me cree en la tabla nueva el campo "CAMPO1" que sea varchar(50)...

Espero que se entienda...


Estoy trabajando con SQL Server...

Saluda Atte Neerruu!!!
__________________
Saluda Atte Neeruu!!! :)
Responder Con Cita
  #2  
Antiguo 03-04-2014
QuiqueSalamanca QuiqueSalamanca is offline
Miembro
 
Registrado: mar 2014
Posts: 35
Poder: 0
QuiqueSalamanca Va por buen camino
Prueba con esta consulta:

Código SQL [-]
SELECT column_name, 
       data_type, 
       column_default, 
       is_nullable
FROM information_schema.columns 
  WHERE table_name='Nombre de la tabla'

Responder Con Cita
  #3  
Antiguo 03-04-2014
QuiqueSalamanca QuiqueSalamanca is offline
Miembro
 
Registrado: mar 2014
Posts: 35
Poder: 0
QuiqueSalamanca Va por buen camino
Perdón me faltaba un campo importante para ti

Código SQL [-]
SELECT column_name, 
       data_type,
       character_maximum_length,
       column_default, 
       is_nullable
FROM information_schema.columns 
  WHERE table_name='Nombre de la tabla'

Sorry! jaja

Saludos, Quique.
Responder Con Cita
  #4  
Antiguo 03-04-2014
Neeruu Neeruu is offline
Miembro
 
Registrado: oct 2007
Posts: 485
Poder: 17
Neeruu Va por buen camino
Es que la consulta no es de 1 tabla, es de 3 o 4 tablas en 1 sola consulta, con select anidados, case, from con select, etc... son consultas complejas...
__________________
Saluda Atte Neeruu!!! :)
Responder Con Cita
  #5  
Antiguo 03-04-2014
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Es posible crear la tabla directamente usando un SELECT:

http://stackoverflow.com/questions/1...ql-server-2008
__________________
El malabarista.
Responder Con Cita
  #6  
Antiguo 04-04-2014
Avatar de olbeup
olbeup olbeup is offline
Miembro
 
Registrado: jul 2005
Ubicación: Santiago de la Ribera (España)
Posts: 685
Poder: 19
olbeup Va camino a la fama
Cita:
Empezado por Neeruu Ver Mensaje
Hola a todos...

Tengo una consulta, necesito generar o extraer, a partir de una consulta SQL, los metadatos para poder generar una tabla nueva.

Me explico mejor, tengo la siguiente consulta:

Código SQL [-]
SELECT T1.CAMPO1, 
           T1.CAMPO2,
           T2.CAMPO3
FROM TABLA1 T1
JOIN TABLA2 T2
ON (T1.CAMPO1 = T2.CAMPO1)

Los resultados de esta consulta tienen que ser volcados a una nueva tabla, el tema que tengo muchas consultas y cada consulta tiene muchos campos... por lo que tengo que ir viendo cada campo de la consulta, de que tabla salen, ir a la tabla y ver de que tipo son, etc...

Yo lo que necesitaría es poder decirle que me cree la tabla para poder volcar los datos, según la consulta...

O sea, si "T1.CAMPO1" es del tipo varchar(50) que me cree en la tabla nueva el campo "CAMPO1" que sea varchar(50)...

Espero que se entienda...


Estoy trabajando con SQL Server...

Saluda Atte Neerruu!!!
Hola Neeruu,

Cita:
Yo lo que necesitaría es poder decirle que me cree la tabla para poder volcar los datos
Esto es sencillo, lo único que tienes que hacer es ponerle INTO Tabla?, después del ultimo campo:

Código SQL [-]
SELECT
    T1.CAMPO1
    ,T1.CAMPO2
    ,T2.CAMPO3
  INTO TABLA3
  FROM TABLA1 T1
    JOIN TABLA2 T2
      ON T1.CAMPO1 = T2.CAMPO1
Después sólo tienes que consultar la TABLA3.
Código SQL [-]
SELECT
    CAMPO1
    ,CAMPO2
    ,CAMPO3
  FROM TABLA3
Un saludo.

upps, no había visto el enlace de mamcx
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber.
Responder Con Cita
  #7  
Antiguo 05-04-2014
Neeruu Neeruu is offline
Miembro
 
Registrado: oct 2007
Posts: 485
Poder: 17
Neeruu Va por buen camino
Aunque la tabla 3 no exista en la base de datos...??? me la crea automáticamente?
__________________
Saluda Atte Neeruu!!! :)
Responder Con Cita
  #8  
Antiguo 07-04-2014
Avatar de olbeup
olbeup olbeup is offline
Miembro
 
Registrado: jul 2005
Ubicación: Santiago de la Ribera (España)
Posts: 685
Poder: 19
olbeup Va camino a la fama
Cita:
Empezado por Neeruu Ver Mensaje
Aunque la tabla 3 no exista en la base de datos...??? me la crea automáticamente?
Hola Neeruu,

En el INTO de la SELECT ya le estas diciendo que los resultados te la cree en la TABLA3, con la misma estructura (CAMPOS) de la TABLA1 y la TABLA2 a la TABLA3

Has llegado a probarlo?

Un saludo.
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber.
Responder Con Cita
  #9  
Antiguo 07-04-2014
Neeruu Neeruu is offline
Miembro
 
Registrado: oct 2007
Posts: 485
Poder: 17
Neeruu Va por buen camino
Cool

No lo probé todavía... pero en breve estaré dando el visto....

Esto con Firebird también se puede hacer?

Saluda Atte Neeruu!!!
__________________
Saluda Atte Neeruu!!! :)
Responder Con Cita
  #10  
Antiguo 08-04-2014
Avatar de olbeup
olbeup olbeup is offline
Miembro
 
Registrado: jul 2005
Ubicación: Santiago de la Ribera (España)
Posts: 685
Poder: 19
olbeup Va camino a la fama
Cita:
Empezado por Neeruu Ver Mensaje
No lo probé todavía... pero en breve estaré dando el visto....

Esto con Firebird también se puede hacer?

Saluda Atte Neeruu!!!
Hola Neeruu,

Cita:
Esto con Firebird también se puede hacer?
Se puede hacer con cualquier motor de base de datos.

Un saludo
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber.
Responder Con Cita
  #11  
Antiguo 09-04-2014
Neeruu Neeruu is offline
Miembro
 
Registrado: oct 2007
Posts: 485
Poder: 17
Neeruu Va por buen camino
Cool

Doy Fe que anda.... jajaja...

Muchas gracias por la ayuda, he aprendido algo nuevo gracias a ustedes....


Saluda Atte Neeruu!!!
__________________
Saluda Atte Neeruu!!! :)
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
Generar XML a Partir de XSD Avellas Internet 3 02-05-2022 11:54:57
generar un string a partir de dos celdas de un DbGrid pablopessoa Conexión con bases de datos 3 20-10-2008 18:18:44
Como generar un numero entero a partir de una mascarilla dad AzidRain Varios 4 25-07-2007 01:53:48
Generar fichero x.tlb a partir de x_TLB.pas albion Varios 1 16-06-2006 13:20:51
generar html (tablas) a partir de query jymy788 Varios 2 28-09-2004 10:29:36


La franja horaria es GMT +2. Ahora son las 15:32:19.


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