触发器插入数据时修改当前插入的字段值sql server 2008

表A 有a,b,c三列
在给A表插入数据时把c列的值更新为a+b;
update A set c=inserted.a+inserted.b
from inserted,A where a=inserted.a

这个逻辑没用,这个时候你给c赋值c还没有存储的地方,因为新的这条记录还没有插入成功

第1个回答  2014-11-12
create Trigger table_InsertTrigger
on 表
for insert
as
if exists(select * from inserted )
begin
update 表 set c=a+b from 表 t where exists(select * from inserted i where i.a=t.a)
end本回答被网友采纳

触发器插入数据时修改当前插入的字段值sql server 2008
create Trigger table_InsertTrigger on 表 for insert as if exists(select * from inserted )begin update 表 set c=a+b from 表 t where exists(select * from inserted i where i.a=t.a)end

关于使用sql server 2008触发器完成修改一张表里一个字段同时修改另一张...
deleted存储的是删除的或修改前的资料。你可以通过inserted表来获得你更新后的值,然后再用这个值来更新另外的那个表,如不清楚可再追问。

mssql2008 触发器.数据生成后触发更新指定数值
如果你第一次insert的时候用触发器。你是不能修改的,因为触发器发动期间,数据并没有insert进去。你针对触发器的ID进行UPDATE,会发现可执行行数为0.建议你nCash这个值在前端拼SQL的时候做好判断,而不是等到insert的时候才判断。

SQL Server 2008中定义触发器,更改一个表中的数据时,在另一个负责记录...
create trigger Insert_BBR on Table1 for update as insert into Record select 读者编号,图书编号,getdate() as 当时时间,case when 借书时间<=getdate() and 归还时间>getdate()then '借'else '还' end as 操作名称 from inserted

SQLServer 2008 CDC实现数据变更捕获使用图文详解
仅在SQLServer2008(含)以后的企业版、开发版和评估版中可用。 详解: CDC功能主要捕获SQLServer指定表的增删改操作,由于任何操作都会写日志(哪怕truncate),所以CDC的捕获来源于日志文件。日志文件会把更改应用到数据文件中,同时也会标记符合要求的数据标记为需要添加跟踪的项。然后通过一些配套函数,最后写入到数据仓库中...

sql触发器只修改当前行的值,不要整张表都改?
我用SQL Server 写了一个例子,可以执行成功:ALTER TRIGGER Sum \/* 触发器名为Sum *\/ ON dbo.wx \/* 正对表维修(wx) *\/ FOR UPDATE \/* 当有更新时执行 *\/ AS IF UPDATE(rgf) \/* 如果手动更新字段人工费 *\/ BEGIN UPDATE wx SET wxmoney = rgf + clf; \/* 就自动...

sql server2008中,一个表中只有一行数据,怎么写约束让表的的值发生改 ...
设msg_time的默认值为时间函数GetDate(),这样当插入、修改的时候就会改变时的时间

sql server 2008数据库里如何实现按规则自动补全某个字段
使用触发器。假定表名称为mytable,字段名称为idc。创建如下触发器:CREATE TRIGGER [myTRIGGER] ON [dbo].[mytable]FOR INSERT AS DECLARE @IDD VARCHAR(8)DECLARE @ID INT SET @ID=(SELECT id FROM inserted)SET @IDD = 'IC' + RIGHT('000000' + CONVERT(VARCHAR, @ID),6)UPDATE [my...

sql server2008中的触发器有3种类型,分别为
DML)事件时将启用。DML事件即指在表或视图中修改数据的insert、update、delete语句也。(2)DDL触发器:是指当服务器或数据库中发生数据定义语言(DDL)事件时将启用。DDL事件即指在表或索引中的create、alter、drop语句也。(3)登陆触发器:是指当用户登录SQL SERVER实例建立会话时触发。

sql server触发器中执行修改 怎么获得修改的id
触发器里,插入数据或者更新的数据,都被放在inserted这张表里,所以,你只要在触发器里查询这张表,而删除或者被更新的数据都被放在deleted这张表里decare @IDselect @ID=id from inserted--上面这句是查询修改后的IDselect @ID=id from deleted--上面这句是查询修改前的IDselect @ID ...

相似回答