创建一个名为stu_insert的触发器,当向学生表student中插入记录时,自动更新班级表class中的学生人数numbe

class表中两个number 我编的东西是CREATE TRIGGER stu_insert ON student
FOR INSERT, UPDATE
AS
SELECT * FROM inserted
BEGIN
UPDATE class SET Number=Number+1
FROM inserted
END
但是这样子添加的number是两列number同时加1了。求助高手。

1、首先打开sqlyog并和mysql建立连接。

2、在sqlyog软件左侧树形菜单中要到触发器选项。

3、在触发器选项上点击右键找到创建触发器选项,或者选择触发器选项按f4也可以弹出创建触发器弹窗

4、想要创建一个名称为trigger的触发器,那么就在弹窗的输入框中输入trigger并点击确定即可。

5、想要创建一个biao1中插入数据后,另外一个表pages也 要插入数据的触发器,触发器的命令是 after insert on biao1。

6、当biao1插入数据的时候 ,想要pages也要插入数据,就要在for each row begin后加  

INSERT INTO pages(title,logo,content,ADDTIME) VALUES('触发器','触发器logo','触发器content','2018-8-16')。

7、在询问编辑器中 创建一个插入biao1的sql语句INSERT INTO biao1(name1,age) VALUES('新加name','111'),f9执行该语句将数据插入表中。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-01-04
如 mailking2001所说,你创建表的时候可以这样描述
create table student_info(sid int not null,sname nvarchar(10)....
constraint pk_student_info PRIMARY KEY NONCLUSTERED (sid)
)
或者对已存在的表进行修改
alter table student_info add constraint pk_student_info primary key(sid)
第2个回答  2010-12-22
CREATE TRIGGER stu_insert ON student
FOR INSERT, UPDATE
AS
BEGIN
UPDATE class SET Number=Number+1 where Clno in (select clno from inserted )
END
你试试这样行不行。插入表中 也要有clno 班及号这列
第3个回答  推荐于2017-11-23
UPDATE class SET Number=Number+1
加上where Clno=学生的Clno本回答被提问者和网友采纳
第4个回答  2018-01-09
create trigger tri_student_insert
on student
for insert
as
begin
declare @stuclassname varchar(30)
declare @stuclassname=sClassname
from inserted
update class
set cNumber=cNumber+1
where sClassname=@stuclassname

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网