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

2025-02-26 00:29:53
推荐回答(5个)
回答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执行该语句将数据插入表中。

回答2:

如 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)

回答3:

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 班及号这列

回答4:

UPDATE class SET Number=Number+1
加上where Clno=学生的Clno

回答5:

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