SQL2000能用触发器实现表中某行的一个列为条件自动修改此行另外一个值吗
答案:2 悬赏:60 手机版
解决时间 2021-01-30 22:55
- 提问者网友:留有余香
- 2021-01-30 14:30
SQL2000能用触发器实现表中某行的一个列为条件自动修改此行另外一个值吗
最佳答案
- 五星知识达人网友:青尢
- 2021-01-30 15:19
可以啊
设A列,设3个值,如果用户更新数据为:1、2、0
对应修改值是:是、不是、不知道
触发器代码如下:
create trigger up_week
on 表名
for update
as
begin
update 表名 set 修改列名='是' where exists (select * from inserted where 表名.主键=inserted.主键 and inserted.修改列名='1')
update 表名 set 修改列名='不是' where exists (select * from inserted where 表名.主键=inserted.主键 and inserted.修改列名='2')
update 表名 set 修改列名='不知道' where exists (select * from inserted where 表名.主键=inserted.主键 and inserted.修改列名='0')
end
设A列,设3个值,如果用户更新数据为:1、2、0
对应修改值是:是、不是、不知道
触发器代码如下:
create trigger up_week
on 表名
for update
as
begin
update 表名 set 修改列名='是' where exists (select * from inserted where 表名.主键=inserted.主键 and inserted.修改列名='1')
update 表名 set 修改列名='不是' where exists (select * from inserted where 表名.主键=inserted.主键 and inserted.修改列名='2')
update 表名 set 修改列名='不知道' where exists (select * from inserted where 表名.主键=inserted.主键 and inserted.修改列名='0')
end
全部回答
- 1楼网友:往事埋风中
- 2021-01-30 16:16
给表b建立一个insert触发器,当表b发生插入记录的时候自动给表a的b字段+1
create trigger insert_b on b
for insert
as
至于具体中间的业务你怎么写就自己考虑啦
对了在触发器中可以调用虚拟的临时表inserted,这个是在插入触发器里面可以调用的,目的是查询在插入时某些值是否符合要求或者什么业务逻辑是否满足之类的等等
这个触发器只要表b发生了插入操作就会执行,如果你单纯只想给表a在表b有插入的时候+1
那么直接就update表a的b字段+1就好了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯