Hacer definiciones de tablas es siempre mas efectivo que generarlas dinámicamente, por lo que tomarse el trabajo de revisar campo a campo qué campos y cómo aplican a lo que queremos hacer puede tomar tiempo, aquí publico un ejemplo de como llevar los resultados a tabla temporal, ver su estructura para usar dicha información para generar una tabla (o variable tipo tabla) más rápidamente
;With Ejemplo as ( select 1 as b, 'valores' as c union all select 2 as b, 'Misvalores' as c) select * into #t from Ejemplo exec tempdb..sp_help #t drop table #t
El ejemplo es simple pero imagine tener que varios miles de registros y tener que verificar campo a campo la longitud máxima de cada uno de ellos, el tipo de datos, etc.
Uno de los resultados de sp_help retorna
El cual con poco procesamiento podemos convertir en una tabla, tabla temporal o variable tipo tabla según lo requerido
La técnica mencionada solo se recomienda en entornos de desarrollo y no debe ser usada con precaución en tablas con gran cantidad de datos (una opción es limitar el número de registros de la tabla a devolver)
Espero sea de ayuda,
FREDDY LEANDO ANGARITA CASTELLANOS
Sql Server MVP
Desarrollando un aplicativo me encontré con la curiosidad de saber cuál sería el