读书人

触发器完成三个字段的配合自减

发布时间: 2013-01-04 10:04:13 作者: rapoo

触发器完成3个字段的配合自减
修改表中某个字段后触发其中3个字段
第一个字段最大为5,每次触发的都是这个字段的自减当减少到0时
判断第二个字段是否为0,为0就判断第三个字段是否为0
不为0就减1,然后第一个字段又为5
第二个字段跟你一个字段的算法一样,我的触发器不知道出了什么问题

alter trigger tr_pingjiatixi
on userlv_tab
for update
as
declare @id int,@star int,@zuan int,@guan int
select @id=lvid from inserted
select @star=star from inserted
select @zuan=zuan from inserted
select @guan=guan from inserted
if update(good)
update userlv_tab set star=star+1 where lvid=@id
if update(bad)
begin

if(@star>0)
update userlv_tab set star=star-1 where lvid=@id
else
begin
if(@zuan>0)
update userlv_tab set zuan=zuan-1,star=5 where lvid=@id
else
begin
if(@guan>0)
update userlv_tab set zuan=5,star=5,guan=@guan-1 where lvid=@id
else
update userlv_tab set star=0 where lvid=@id
end
end
end

麻烦看看有什么问题很急
[解决办法]
MYSQL的TRIGER不能对表本操作,在BEFORE UPDTE中
set new.star=....
[解决办法]
引用
但是上面的触发器我写了,不知道错在哪里
还有没说清楚的请问我,谢谢

你为什么说这段代码错了? 没起作用?还是系统提示你语法错误?

问题说明越详细,回答也会越准确!参见如何提问。(提问的智慧)

读书人网 >SQL Server

热点推荐