请教:一个触发的问题?

guolucky2003 2005-11-24 07:07:53
当字段get_money和字段get_num的值都是1时stateid的值也自动变成1

请问有什么方法可以令stateid字段根据实际情况自动的变1呢?
...全文
134 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ls_jingwen 2005-11-28
  • 打赏
  • 举报
回复
create table test (get_money int,get_num int,stateid int)
insert into test select 1,2,2
union all select 2,2,7
union all select 3,3,8

create trigger tr_test1
on test
for update
as
update test set stateid =1 where get_money=1 and get_num=1
update test set get_money=1,get_num=1 where stateid=2
select * from test
結果:
get_money get_num stateid
----------- ----------- -----------
1 1 1
2 2 7
3 3 8

create trigger tr_test2
on test
for insert
as
update test set stateid=1
from test a inner join inserted b
on a.get_money=b.get_money and a.get_num=b.get_num and
b.get_money =1 and b.get_num=1

insert into test(get_money,get_num) values(2,3)
insert into test(get_money,get_num) values(1,1)
select * from test
結果:
get_money get_num stateid
----------- ----------- -----------
1 1 1
2 2 7
3 3 8
1 1 1
2 3 NULL
1 1 1
panjinfu80 2005-11-24
  • 打赏
  • 举报
回复
用触发器处理嘛,当两个字段为1时,就插入或更新另一个字段为1
guolucky2003 2005-11-24
  • 打赏
  • 举报
回复
可以说详尽一点吗,怎样建计算字段呢?
WangZWang 2005-11-24
  • 打赏
  • 举报
回复
把stateid字段设置为计算字段.

34,873

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧