Создайте новый столбец в представлении и назначьте ему тип данных


9

вот мой запрос:

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

Я получаю ошибку в третьей строке.

Если я оставлю запрос таким образом, без указания типа данных для Column2, запрос будет работать, но тип данных по умолчанию будет int, тогда как я хочу иметь VARCHAR.

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

Можете ли вы помочь? Спасибо!

Примечание. Только столбец 1 находится в VIEW1. Столбец2 НЕ находится в VIEW1, это сгенерированный столбец со значениями NULL.


Вы знаете, что представления, вызывающие представления, как правило, очень плохой метод и могут вызывать проблемы с производительностью? Вы действительно не хотите идти по этому пути, потому что это исправление позже, когда у вас много записей и проблемы с производительностью обнаруживаются. И я в недоумении, почему вы хотели бы сделать это. Если столбца нет в таблице и он может быть только NULL, что хорошего в этом вам? Вы не можете обновить его другими значениями
HLGEM

Ответы:


10

Вы захотите этого.

CREATE VIEW VIEW2
AS SELECT [Column1],
cast(NULL as varchar(10)) AS column2
FROM VIEW1;
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.