新建视图时如何增加临时字段?

来源:百度知道 编辑:UC知道 时间:2024/05/10 19:38:34
表a有字段:t1,t2
我要新建一个视图表A对应的视图,但是需要增加两个段t3,t4我要如何增加?
我用这个不能保存“select t1,t2,t3,t4 from a”,说是列名无效,请问这里我要怎么写,t3和t4类型也不一样,一个是datetime一个是Nvarchar(200),请高人指点一下,小弟感激不尽。。

楼上的专家没好好看问题.......

视图是针对已有表的,本身并不存储数据,“select t1,t2,t3,t4 from a”,t3和t4不属于表a,自然找不到列名.

首先你要明确为什么要在视图增加2列内容.在许多情况下一般中小型项目中并不必须依赖视图.如果你要针对视图进行UPDATE等操作很容易出问题.

在视图中增加2列不属于任何表的也不是不可以,例如
SELECT t1,t2, CAST(GETDATE() AS datetime) AS t3, CAST('' AS nvarchar(200)) AS t4
FROM a

但针对t3和t4不能更新,如果更新的话会出错:更新或插入失败,因其包含派生域或常量域。

因此你的t3或t4应该捆绑某个实际的表

建立临时表:
Create Table #Test
(
Col int identity(1,1)
.
.
.
)
将数据插入临时表:
insert into #Test select * from TableName