
我写一个视图 给你说明一下该怎么往视图里面加字段。
例如视图需要查询的表Table 有两列Name和Age
创建视图V_Table:Create View V_Table
as
begin
select Name from Table
end
上面视图只能查出Name 列。如果要加一个Age到视图里面 就如下:
Create View V_Table
as
begin
select Name,Age from Table
end
首先,要清楚视图的概念:视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。
由于视图的数据来自自定义视图时的查询所引用的表,因此要想在视图中新增一个全新的字段,只需要在其引用的表中增加此字段,然后修改生成动态视图的查询语句即可;
在表中增加此字段的语法是
如果此字段为int型,是不能指定长度的:alter table 表名 add 字段 int 0
如果此字段为char型:alter table 表名 add 字段 char(10) null
如果此字段为数值型:alter table 表名 add 字段 DECIMAL(10,0) 0
你的代码有以下几个问题:1. 判断是否是NULL应使用is,而不是=
2. 修改字段值应使用UPDATE语句
故你的代码修改成下面这样,试试看
create trigger tigger1 on UserInfo
for insert
as
declare @i1 as int --这里类型实际应修改为a的类型
select @i1 = UserInfo.a
from UserInfo join inserted on UserInfo.主键 = inserted.主键
if ( @i1 is null)
update UserInfo
set a = UserInfo.b
from UserInfo join inserted on UserInfo.主键 = inserted.主键
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)