sql中触发器当修改学生班级信息时自动修改相应班级的学生人数

怎么实现被修改的班级人数-1,修改后的班级人数+1呢?... 怎么实现被修改的班级人数-1,修改后的班级人数+1呢? 展开
 我来答
fengyeyu
2014-01-15
知道答主
回答量:14
采纳率:0%
帮助的人:12.9万
展开全部
create or replace trigger test_trigger

after update on 学生表

for each row

begin

      update 班级表 set 班级表.人数=班级表.人数-1 where 班级表.班级= :old.班级;

      update 班级表 set 班级表.人数=班级表.人数+1 where 班级表.班级= :new.班级;

      commit;

end;
匿名用户
2014-01-15
展开全部
if (object_id('tri','tr')is not null )
drop trigger tri
go
create trigger tri 
ON dbo.学生表
FOR  UPDATE 
as 
IF UPDATE(班级id) 
declare @班级1 int 
declare @班级2 int 

SELECT  @班级1=班级id
from inserted 
SELECT @班级2=班级id 
FROM deleted 

update 班级表 set 人数=人数+1 where 班级= @班级1
update 班级表 set 人数=人数-1 where 班级= @班级2
GO
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式