在视图中创建一个新列并为其分配数据类型


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;

你能帮忙吗?谢谢!

注意:VIEW1中只有Column1。Column2不在VIEW1中,它是具有NULL值的生成的列。


您知道视图调用视图通常是一种非常糟糕的技术,会导致性能问题吗?您真的不想走这条路,因为当您有很多记录并且出现性能问题时,稍后修复它是噩梦。我不知道为什么要这么做。如果该列不在表中并且只能为NULL,那么对您有什么好处?您无法使用其他任何值进行更新
HLGEM'3

Answers:


10

您会想要的。

CREATE VIEW VIEW2
AS SELECT [Column1],
cast(NULL as varchar(10)) AS column2
FROM VIEW1;
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.