你没明白Inserted表的含义。
触发器语句中使用了两种特殊的表:deleted 表和 inserted 表,你可以使用这两个临时的驻留内存的表测试某些数据修改的效果及设置触发器操作的条件;然而,不能直接对表中的数据进行更改
UPDATE Inserted SET A4=@A4肯定是不行了。你要修改的是Tab1本身而不是Inserted表。你的情况可以考虑将触发器定义倒视图而不是表上。
触发器语句中使用了两种特殊的表:deleted 表和 inserted 表,你可以使用这两个临时的驻留内存的表测试某些数据修改的效果及设置触发器操作的条件;然而,不能直接对表中的数据进行更改
UPDATE Inserted SET A4=@A4肯定是不行了。你要修改的是Tab1本身而不是Inserted表。你的情况可以考虑将触发器定义倒视图而不是表上。
解决方案 »
- 自动赋值
- sql 2005 安装问题
- 请教一个简单的SQL语句
- 如何在存储过程中输出 “select top 1 基本信息编号 from 基本信息 order by 基本信息编号 desc”结果??
- 各大哥们,使用什么语句将某表里的某字段的记录插入另一表里的字段里???????
- 怎样才能用update语句更新自增的字段?
- 有个统计求不出来。谁能帮帮我。。。
- 只有一个.mdf文件,数据库还能要么?
- 我建了一个作业"modifydate",但在查询分析器运行USE cass EXEC sp_delete_job @job_name = 'modifydate',出现未能找到存储过程 'sp_delet
- 如何使用BIG-5的数据库?字段和记录都有BIG-5字符。
- 如何在启动ORACLE时自动执行一SQL脚本程序?
- 做过网上购物系统的高手请进
这种修改,需要用触发器吗?
触发
我用的数据库是SQLServer,能做基于字段级的UPDATE触发吗?
请看下面:
“触发器不进行自己的递归调用,换句话说,触发器不调用它自己来响应触发器中对同一个
表的第二个更新”
这样
只要在触发器中
UPDATE Tab1 SET A4=@A4 WHERE A1=@A1
其中@A1由Inserted表得到,@A4计算得到
update tablename set
A1=b.a1
a4=case b.a1 when '1' then expression1 else expression2 end
from b
不知道怎么给你们分?我找遍了全页也没找到给分的热链接。