sql server 2008触发器怎么实现oracle里边for each row的行级触发器的效果,用循环应该怎么做,求关键代码

有户型HUXING表,关键字段有ID,均价PRICE,面积square,总价totalprice

要求每更新一次就重新计算一次总价=面积*均价,我写的只更新一条时没错,但更新多条时只执行最后一条,如题,怎么实现行级触发器效果,即更新多条时触发器也执行多次

汪汪一只猫
浏览 604回答 1
1回答

30秒到达战场

没听说过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
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

SQL Server