![]() |
Uso de alias en SQL server Hola! estoy trabajando sobre una base SQL Server y quiero crear una tabla temporal. Pero hay datos que estan definidos por el administrador de la base de datos y necesito usar algunos de esos datos en la tabla que estoy creando. Pero cuando armo la sentencia, pongo el nombre de la columna y a continuacion el alias, y despues ejecuto esta misma sentencia me tira un error por cada uno de los alias que utilizo con la siguiente leyenda: "Can't find type 'nombreTipo' " Lo que me pregunto es, tengo que hacer algun tipo de import para que el motor sepa de donde sale este tipo al que hago referencia? o sino, cuál es la sintaxis correcta para hacer lo que yo quiero? Espero su respuesta, Saludos!!! |
Re: Uso de alias en SQL server Pues si pones la sentencia que estas usando sería más fácil ayudarte. Saludos! |
Re: Uso de alias en SQL server use pta create table #ordenes_anuladas (id_orden_anulada dbo.d_ID_comprobante, ...) pta es la base de datos en la que quiero crear la tabla, puse solo uno de las columnas que va a tener la tabla, 'dbo.d_ID_comprobante' es el tipo de dato definido por el usuario que yo quiero usar para una de las columnas de la tabla (entre otros). Cuando ejecuto la consulta me indica el siguiente problema: "Can't find type 'd_ID_comprobante'" que es el que estoy usando. Y lo que supongo es que como no es un tipo de datos del sistema por eso no me lo estara reconociendo. Entonces quizas sea como cuando uno programa que incluye una cabecera indicando que tipos de datos uno quiere usar. O no se, quizas lo que estoy haciendo no se puede hacer. Saludos! |
Re: Uso de alias en SQL server Puedes ejecutar esto en tu query analyzer EXEC SP_HELP @objname = d_ID_comprobante Dime que te da............. |
Re: Uso de alias en SQL server Me da lo siguiente cuando ejecuto lo que me pasaste: Type_name: d_ID_comprobante Storage_type: numeric Length: 5 Nulls: 1 Prec: 8 Scale: 0 Default_name: [NULL] Rule_name: [NULL] Access_Rule_name Identity: [NULL] |
Re: Uso de alias en SQL server El problema es que los tipos de datos propios se almacenan en tu DB de siempre, mientras que las tablas temporales en realidad se almacenan en tempdb... Y en tempdb tu tipo de datos no existe. La solución que en este momento alcanzo a ver es: 1) Declarar la tabla temp en el tipo de datos de SQL y no el de usuario. 2) Crear el tipo de datos en tempdb (que tendrás que estar creandolo cada vez que lo utilices, además de revisar si es que no existe previamente). Un verdadero pain in the 4$$, deberían calificarlo de Bug. |
Re: Uso de alias en SQL server Entiendo lo que me decis, gracias! porque realmente estaba muy desorientado. Lo que siempre hago es crear la tabla temporal a partir de un INSERT INTO, que no me produce ningun error porque evidentemente los tipos de datos correspondientes se generan en forma automatica cuando ejecuto la sentencia. Lo que pasa es que yo queria combinar los resultados de distintas consultas en una misma tabla, pero cada consulta tiene columnas nuevas que quiero ir agregando a la tabla. Me parece que me conviene crear una tabla simple (no temporal) con los tipos de datos que yo necesito, y segun lo que dice Mithrandir, entonces no voy a tener ese problema. Saludos! |
| La zona horaria es GMT -6. Ahora son las 01:49. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.