Extraer la estructura de una tabla

12/12/2004 - 22:13 por Melissa Ruiz | Informe spam
Hola necesito extraer la estructura de una tabla para tenerla en un script
t-sql para posterior creacion automatica, como puedo hacer esto ?

Preguntas similare

Leer las respuestas

#6 Ricardo Passians
13/12/2004 - 06:27 | Informe spam
Si es por ejemplo para armar dinamicamente desde una aplicacion cliente el
texto de un SP de insercion, necesitas el nombre, los tipos y longitudes
para indicarselo en los parametros. Esto lo puedes extraer de
information_schema (SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE
TABLE_NAME = 'mitabla' ), especificamente de los campos: column_name,
data_type, character_maximum_length, numeric_precision, numeric_scale. Con
esto puedes ir armando en la aplicacion cada parametro con su tipo todo en
una cadena de texto. Ej. @codcli char(10), @fecha smalldatetime, ...etc.

Me imagino que lo quieres hacer asi porque los sps son iguales en sentencias
sql pero solo difieren solo en los parametros (y los campos) y ademas porque
en los sp hay operaciones que no son un simple insert pues para esto no es
del todo necesario un SP.

Ricardo




"Melissa Ruiz" wrote in message
news:
>
> De todas maneras, cual es la necesidad de hacerlo de forma programatica?
>

Para aparte de aprender, tambien para varias cosas que estamos haciendo


con
una base de datos de muchas tablas.
Una es para tener la estructura grabada en un script y poder usarla para
volver a crear la tabla en alguna otra bd o duplicarla con otro nombre y
algunas variaciones (aunque para esto quiza haya otra manera).
Otra cosa es para un proceso de crearle un sp para insert y update a un
grupo grande de tablas de columnas distintas, para poder armar el texto


del
SP desde una aplicacion cliente pero para ello necesito tener la


estructura
con los nombres de columnas y sus tipos para ponerselo en los parametros


de
cada SP. A menos que haya otra manera.






Respuesta Responder a este mensaje
#7 Miguel Egea
13/12/2004 - 08:52 | Informe spam
Bueno, hubo un mensaje del Maestro Fernando Guerrero que solucionaba de una
forma bastante elegante este problema...

http://www.configuracionesintegrale...asp?articu
lov


Saludos

Miguel Egea
Microsoft SQL-SERVER MVP
Brigada Anti-Cursores
http://www.portalsql.com

(Quita el online si me tienes que mandar un correo)


"Ricardo Passians" escribió en el mensaje
news:
Si es por ejemplo para armar dinamicamente desde una aplicacion cliente el
texto de un SP de insercion, necesitas el nombre, los tipos y longitudes
para indicarselo en los parametros. Esto lo puedes extraer de
information_schema (SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE
TABLE_NAME = 'mitabla' ), especificamente de los campos: column_name,
data_type, character_maximum_length, numeric_precision, numeric_scale. Con
esto puedes ir armando en la aplicacion cada parametro con su tipo todo en
una cadena de texto. Ej. @codcli char(10), @fecha smalldatetime, ...etc.

Me imagino que lo quieres hacer asi porque los sps son iguales en


sentencias
sql pero solo difieren solo en los parametros (y los campos) y ademas


porque
en los sp hay operaciones que no son un simple insert pues para esto no es
del todo necesario un SP.

Ricardo




"Melissa Ruiz" wrote in message
news:
> >
> > De todas maneras, cual es la necesidad de hacerlo de forma


programatica?
> >
>
> Para aparte de aprender, tambien para varias cosas que estamos haciendo
con
> una base de datos de muchas tablas.
> Una es para tener la estructura grabada en un script y poder usarla para
> volver a crear la tabla en alguna otra bd o duplicarla con otro nombre y
> algunas variaciones (aunque para esto quiza haya otra manera).
> Otra cosa es para un proceso de crearle un sp para insert y update a un
> grupo grande de tablas de columnas distintas, para poder armar el texto
del
> SP desde una aplicacion cliente pero para ello necesito tener la
estructura
> con los nombres de columnas y sus tipos para ponerselo en los parametros
de
> cada SP. A menos que haya otra manera.
>
>
>
>
>
>


Respuesta Responder a este mensaje
#8 Juan Sánchez
13/12/2004 - 15:22 | Informe spam
En mi caso cuando quiero crear una tabla con la misma estructura de otra lo
que hago es:

SELECT TOP 0 * INTO TABLA2 FROM TABLA1

No se si esto tenga algún pero, si lo tiene agradezco comentarios.

Slds,
Juan


"Miguel Egea" escribió en el mensaje
news:
Bueno, hubo un mensaje del Maestro Fernando Guerrero que solucionaba de


una
forma bastante elegante este problema...




http://www.configuracionesintegrale...asp?articu
lov


Saludos

Miguel Egea
Microsoft SQL-SERVER MVP
Brigada Anti-Cursores
http://www.portalsql.com

(Quita el online si me tienes que mandar un correo)


"Ricardo Passians" escribió en el mensaje
news:
> Si es por ejemplo para armar dinamicamente desde una aplicacion cliente


el
> texto de un SP de insercion, necesitas el nombre, los tipos y longitudes
> para indicarselo en los parametros. Esto lo puedes extraer de
> information_schema (SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE
> TABLE_NAME = 'mitabla' ), especificamente de los campos: column_name,
> data_type, character_maximum_length, numeric_precision, numeric_scale.


Con
> esto puedes ir armando en la aplicacion cada parametro con su tipo todo


en
> una cadena de texto. Ej. @codcli char(10), @fecha smalldatetime, ...etc.
>
> Me imagino que lo quieres hacer asi porque los sps son iguales en
sentencias
> sql pero solo difieren solo en los parametros (y los campos) y ademas
porque
> en los sp hay operaciones que no son un simple insert pues para esto no


es
> del todo necesario un SP.
>
> Ricardo
>
>
>
>
> "Melissa Ruiz" wrote in message
> news:
> > >
> > > De todas maneras, cual es la necesidad de hacerlo de forma
programatica?
> > >
> >
> > Para aparte de aprender, tambien para varias cosas que estamos


haciendo
> con
> > una base de datos de muchas tablas.
> > Una es para tener la estructura grabada en un script y poder usarla


para
> > volver a crear la tabla en alguna otra bd o duplicarla con otro nombre


y
> > algunas variaciones (aunque para esto quiza haya otra manera).
> > Otra cosa es para un proceso de crearle un sp para insert y update a


un
> > grupo grande de tablas de columnas distintas, para poder armar el


texto
> del
> > SP desde una aplicacion cliente pero para ello necesito tener la
> estructura
> > con los nombres de columnas y sus tipos para ponerselo en los


parametros
> de
> > cada SP. A menos que haya otra manera.
> >
> >
> >
> >
> >
> >
>
>


Respuesta Responder a este mensaje
#9 Salvador Ramos
13/12/2004 - 15:45 | Informe spam
El "pero" es que sólo te crea los campos, no te crea restricciones, claves
primarias, etc...

Un saludo
Salvador Ramos
Murcia - España
[Microsoft MVP SQL Server]
www.helpdna.net
¿Te interesa participar en las reuniones
del grupo de Usuarios de SQL-Server y .NET
Se harán en levante de España, (Alicante o Murcia)?

"Juan Sánchez" escribió en el mensaje
news:%
En mi caso cuando quiero crear una tabla con la misma estructura de otra


lo
que hago es:

SELECT TOP 0 * INTO TABLA2 FROM TABLA1

No se si esto tenga algún pero, si lo tiene agradezco comentarios.

Slds,
Juan


"Miguel Egea" escribió en el mensaje
news:
> Bueno, hubo un mensaje del Maestro Fernando Guerrero que solucionaba de
una
> forma bastante elegante este problema...
>
>



http://www.configuracionesintegrale...asp?articu
> lov
>
>
> Saludos
>
> Miguel Egea
> Microsoft SQL-SERVER MVP
> Brigada Anti-Cursores
> http://www.portalsql.com
>
> (Quita el online si me tienes que mandar un correo)
>
>
> "Ricardo Passians" escribió en el mensaje
> news:
> > Si es por ejemplo para armar dinamicamente desde una aplicacion


cliente
el
> > texto de un SP de insercion, necesitas el nombre, los tipos y


longitudes
> > para indicarselo en los parametros. Esto lo puedes extraer de
> > information_schema (SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE
> > TABLE_NAME = 'mitabla' ), especificamente de los campos: column_name,
> > data_type, character_maximum_length, numeric_precision, numeric_scale.
Con
> > esto puedes ir armando en la aplicacion cada parametro con su tipo


todo
en
> > una cadena de texto. Ej. @codcli char(10), @fecha smalldatetime,


...etc.
> >
> > Me imagino que lo quieres hacer asi porque los sps son iguales en
> sentencias
> > sql pero solo difieren solo en los parametros (y los campos) y ademas
> porque
> > en los sp hay operaciones que no son un simple insert pues para esto


no
es
> > del todo necesario un SP.
> >
> > Ricardo
> >
> >
> >
> >
> > "Melissa Ruiz" wrote in message
> > news:
> > > >
> > > > De todas maneras, cual es la necesidad de hacerlo de forma
> programatica?
> > > >
> > >
> > > Para aparte de aprender, tambien para varias cosas que estamos
haciendo
> > con
> > > una base de datos de muchas tablas.
> > > Una es para tener la estructura grabada en un script y poder usarla
para
> > > volver a crear la tabla en alguna otra bd o duplicarla con otro


nombre
y
> > > algunas variaciones (aunque para esto quiza haya otra manera).
> > > Otra cosa es para un proceso de crearle un sp para insert y update a
un
> > > grupo grande de tablas de columnas distintas, para poder armar el
texto
> > del
> > > SP desde una aplicacion cliente pero para ello necesito tener la
> > estructura
> > > con los nombres de columnas y sus tipos para ponerselo en los
parametros
> > de
> > > cada SP. A menos que haya otra manera.
> > >
> > >
> > >
> > >
> > >
> > >
> >
> >
>
>


Respuesta Responder a este mensaje
#10 Juan Sánchez
13/12/2004 - 17:36 | Informe spam
Gracias por el dato.

"Salvador Ramos" escribió en el
mensaje news:
El "pero" es que sólo te crea los campos, no te crea restricciones, claves
primarias, etc...

Un saludo
Salvador Ramos
Murcia - España
[Microsoft MVP SQL Server]
www.helpdna.net
¿Te interesa participar en las reuniones
del grupo de Usuarios de SQL-Server y .NET
Se harán en levante de España, (Alicante o Murcia)?

"Juan Sánchez" escribió en el mensaje
news:%
> En mi caso cuando quiero crear una tabla con la misma estructura de otra
lo
> que hago es:
>
> SELECT TOP 0 * INTO TABLA2 FROM TABLA1
>
> No se si esto tenga algún pero, si lo tiene agradezco comentarios.
>
> Slds,
> Juan
>
>
> "Miguel Egea" escribió en el mensaje
> news:
> > Bueno, hubo un mensaje del Maestro Fernando Guerrero que solucionaba


de
> una
> > forma bastante elegante este problema...
> >
> >
>



http://www.configuracionesintegrale...asp?articu
> > lov
> >
> >
> > Saludos
> >
> > Miguel Egea
> > Microsoft SQL-SERVER MVP
> > Brigada Anti-Cursores
> > http://www.portalsql.com
> >
> > (Quita el online si me tienes que mandar un correo)
> >
> >
> > "Ricardo Passians" escribió en el mensaje
> > news:
> > > Si es por ejemplo para armar dinamicamente desde una aplicacion
cliente
> el
> > > texto de un SP de insercion, necesitas el nombre, los tipos y
longitudes
> > > para indicarselo en los parametros. Esto lo puedes extraer de
> > > information_schema (SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE
> > > TABLE_NAME = 'mitabla' ), especificamente de los campos:


column_name,
> > > data_type, character_maximum_length, numeric_precision,


numeric_scale.
> Con
> > > esto puedes ir armando en la aplicacion cada parametro con su tipo
todo
> en
> > > una cadena de texto. Ej. @codcli char(10), @fecha smalldatetime,
...etc.
> > >
> > > Me imagino que lo quieres hacer asi porque los sps son iguales en
> > sentencias
> > > sql pero solo difieren solo en los parametros (y los campos) y


ademas
> > porque
> > > en los sp hay operaciones que no son un simple insert pues para esto
no
> es
> > > del todo necesario un SP.
> > >
> > > Ricardo
> > >
> > >
> > >
> > >
> > > "Melissa Ruiz" wrote in message
> > > news:
> > > > >
> > > > > De todas maneras, cual es la necesidad de hacerlo de forma
> > programatica?
> > > > >
> > > >
> > > > Para aparte de aprender, tambien para varias cosas que estamos
> haciendo
> > > con
> > > > una base de datos de muchas tablas.
> > > > Una es para tener la estructura grabada en un script y poder


usarla
> para
> > > > volver a crear la tabla en alguna otra bd o duplicarla con otro
nombre
> y
> > > > algunas variaciones (aunque para esto quiza haya otra manera).
> > > > Otra cosa es para un proceso de crearle un sp para insert y update


a
> un
> > > > grupo grande de tablas de columnas distintas, para poder armar el
> texto
> > > del
> > > > SP desde una aplicacion cliente pero para ello necesito tener la
> > > estructura
> > > > con los nombres de columnas y sus tipos para ponerselo en los
> parametros
> > > de
> > > > cada SP. A menos que haya otra manera.
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida