直接设置字段f的公式为 a+b
解决方案 »
- 建表输入数据之后还能改变列的约束吗?
- sql 2005安装问题
- SQL Server表中如何存储二叉树?怎样建构?
- 求最佳解:以一数据库为模板数据库,生成除数据库名不一样外其它完成一样的另外一数据库。
- 交叉表查询在线等
- 怎么使用PowerDesigner 直接创建Sql Server 2005 数据库
- 请问这个语句的结果是什么?
- 关于缺省值及类型的问题?(入门者的热盼望,在线等待,给分80)
- 如何写这个触发器?
- 请问在SQL 7。0中就关于时间的类型就只有datetime吗,我试了怎么没有DATE,TIME这样的类型呢
- 两个表的字段如何合并?
- dd/mm/yyyy的时间数据如何转换成yyyy-mm-dd?
for insert,update
as
update a set f=a+b
from table1 a
where exists(select * from inserted where 主键=a.主键)
zjcxc邹建的意思是不是在建表时可以——》CREATE TABLE mytable
(
a int,
b int,
f AS (a+ b)
)
我主要的是想怎么写当插入新记录时,该条记录f的值根据一定条件改变,
当修改a或者b是 f的值也根据一定条件改变
for insert,update
as
update a set f=a+b
from table1 a
where exists(select * from inserted where 条件)
if exists (select * from sysobjects where name='tg_1' and type='TR') drop trigger tg_1
go
create trigger tg_1 on test
for insert as
update test set f=test.a+test.b from inserted
go
--测试
insert into test (a,b,c,d,e)
values(1,2,3,4,5)
--删除
select * from test
drop table test
----------------------------------------(所影响的行数为 1 行)
(所影响的行数为 1 行)