日期:2014-05-17  浏览次数:20382 次

SQLServer2005 触发器问题
SQLServer2005 表T,有三个字段
A nvarchar(12)
B nvarchar(12)
C nvarchar(12)

需要建立一个触发器,T表数据update或者insert,自动判断A、B字段的大小,大的自动写入C字段。
A、B都是纯数字的字符串。
请问这个触发器该如何写?知道的朋友麻烦赐教一下。谢谢。

------解决方案--------------------
为什么要触发器
也就下面三种情况吧?
SQL code
insert into tb select a,b,case when a>=b then a else b end


update tb set a=newa,c=case when newa>=b then newa else b end


update tb set b=newb,c=case when newb>=a then newb else a end

------解决方案--------------------
触发器不能对准备要改写的表触发

特别是像你这种情况的,针对INSERT和UPDATE去写。

要么就针对T表写INSERT触发,触发操作是 UPDATE和DELETE
或者针对T表做UPDATE触发,触发操作是 INSERT和DELETE

你这种情况,可以用2楼所写的代码去触决
再或者,你的触发操作是对其它表操作的