Abre tu Base de Datos de SQL Server y échale un vistazo a las tablas:
sysobjects, syscolumns y
sysTypes.
La primera te devolverá La lista de todos los objetos de la Base de Datos, entre ellos las tablas.
Ejecuta la consulta, por ejemplo:
Código SQL
[-]
SELECT * FROM sysobjects WHERE (name = 'Moneda')
Eso te devolverá un registro que reperesenta la información de la tabla Moneda (por poner una). En ese registro hay un
id (recuerdalo); Supongamos para el ejemplo que es el
9876.
Ahora utilizando la tabla
syscolumns puedes obtener todos las columnas de todas las tablas; Para saber las de la tabla Moneda utiliza el id.
Código SQL
[-]
SELECT * FROM syscolumns WHERE (id = 9876)
Ésta consulta te devolverá todas las columnas de la tabla Moneda. Ahora nos fijamos en una columna llamada
xType. Esa columna indica el tipo del dato y para saber cual es ytiliza la tabla
SysTypes.
Si ejecutas la consulta
Obtendrás los tipos correspondientes a los valores de la columna
xtype de antes.
Finalmente puedes obtener todo la info. con una sóla consulta como ésta:
Código SQL
[-]
SELECT syscolumns.name AS COL_NAME, systypes.name AS TYPE_NAME, *
FROM syscolumns INNER JOIN
sysobjects ON syscolumns.id = sysobjects.id INNER JOIN
systypes ON systypes.xtype = syscolumns.xtype
WHERE (sysobjects.name = 'Moneda') AND (systypes.name <> 'sysname')
Te devolverá todos los campos y sus tipos (a parte del resto de información de cada columna) para la tabla llamada Moneda.