Cree una nueva columna en una vista y asígnele un tipo de datos

9

Aquí está mi consulta:

CREATE VIEW VIEW2
AS SELECT [Column1],
(NULL) AS column2 VARCHAR(10)
FROM VIEW1;

Me sale un error en la tercera línea.

Si dejo la consulta de esta manera, sin especificar el tipo de datos para Column2, la consulta funciona, pero el tipo de datos predeterminado será int, mientras que quiero tener VARCHAR.

CREATE VIEW VIEW2
AS SELECT [Column1],
(NULL) AS column2 
FROM VIEW1;

¿Puedes por favor ayudarme? ¡Gracias!

Nota: solo la columna 1 está en VIEW1. Column2 NO está en VIEW1, es una columna generada con valores NULL.

Anna T
fuente
¿Sabes que las vistas que llaman vistas son generalmente una técnica muy pobre y pueden causar problemas de rendimiento? Realmente no desea seguir ese camino porque es una pesadilla arreglarlo más tarde cuando tiene muchos registros y aparecen los problemas de rendimiento. Y no sé por qué querrías hacer esto. Si la columna no está en una tabla y solo puede ser NULL, ¿de qué te sirve? No puede actualizarlo con ningún otro valor
HLGEM

Respuestas:

10

Querrás esto.

CREATE VIEW VIEW2
AS SELECT [Column1],
cast(NULL as varchar(10)) AS column2
FROM VIEW1;
mrdenny
fuente