创建一个触发器,当学生表删除1条记录时,显示被删除的记录
1、创建一个触发器,当学生表删除1条记录时,显示被删除的记录2、创建一个触发器,当学生表删除1条记录时,班级表中相关班级的cl_stnum自动减1....
1、创建一个触发器,当学生表删除1条记录时,显示被删除的记录
2、创建一个触发器,当学生表删除1条记录时,班级表中相关班级的cl_stnum自动减1. 展开
2、创建一个触发器,当学生表删除1条记录时,班级表中相关班级的cl_stnum自动减1. 展开
2个回答
展开全部
SET @stu_no_list = '';
DELIMITER //
CREATE TRIGGER tri BEFORE DELETE ON stu
FOR EACH ROW BEGIN
UPDATE cla SET stu_num = stu_num - 1 WHERE cla_no = old.cla_no;
SELECT old.stu_no INTO @stu_no;
SELECT CONCAT(@stu_no,'#') INTO @stu_no;
SELECT CONCAT(@stu_no_list,@stu_no) INTO @stu_no_list;
SET @stu_no = '';
END //
DELIMITER ;
1.已实现 你说的显示,不知道是怎么显示,mysql貌似没有类似oracle dbms_output的输出,触发器也没法这样输出,我做了一个变量stu_no_list ,用以显示被删除的学生编号集,用#隔开,比如删除了123,456两个学生,show @stu_no_list 就会显示为123#456#.2.以实现
求加分...努力的做,自己也学习~~~
DELIMITER //
CREATE TRIGGER tri BEFORE DELETE ON stu
FOR EACH ROW BEGIN
UPDATE cla SET stu_num = stu_num - 1 WHERE cla_no = old.cla_no;
SELECT old.stu_no INTO @stu_no;
SELECT CONCAT(@stu_no,'#') INTO @stu_no;
SELECT CONCAT(@stu_no_list,@stu_no) INTO @stu_no_list;
SET @stu_no = '';
END //
DELIMITER ;
1.已实现 你说的显示,不知道是怎么显示,mysql貌似没有类似oracle dbms_output的输出,触发器也没法这样输出,我做了一个变量stu_no_list ,用以显示被删除的学生编号集,用#隔开,比如删除了123,456两个学生,show @stu_no_list 就会显示为123#456#.2.以实现
求加分...努力的做,自己也学习~~~
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询