没听说过SQL SERVER的Trigger是只更新最后一条的,不知道你是否误安装了SQL SERVER 1990 BETA版。
要不然麻烦自己搞一下简单的测试。
为了证明这点,我居然闲的发慌真了弄了个数据表进行了简单的测试。
我居然连这种最起码的信任都没有给到微软,请原谅我吧,BILL。
数据表名test_table31, 数据表内有三行数据,第一列是GUID,PrimaryKey,你别管他叫啥字段名了。
7650d1ed-9779-472e-8b9d-005ac317ac81
name1
1
a20a0d30-fdb0-4ab4-8b5a-5ca785b43de2
name2
2
8770a802-e044-433e-b3e6-a478ae29df09
name3
3
Trigger是这样的
Update test_Table1 set Value=Inserted.Value+1 from Inserted where test_table1.TestID=Inserted.TestID
这是我的查询语句
Update test_table1 set name=name + '_update'
下面是执行结果
(3 行受影响)
(3 行受影响) -----这是Trigger在执行的结果。
这是结果的数据行
7650d1ed-9779-472e-8b9d-005ac317ac81
name1_update
2
a20a0d30-fdb0-4ab4-8b5a-5ca785b43de2
name2_update
3
8770a802-e044-433e-b3e6-a478ae29df09
name3_update
4
注:最后一列的值原来是1、2、3