数据库习题存档

(26)创建一个触发器,当某个学生选修、退选、改选某门课程后,在YTC表中,这门课的学生人数对应发生变化;

CREATE TRIGGER T1
AFTER UPDATE ON sc
FOR EACH ROW
	INSERT into ytc
	SELECT sc.cno,t_task.Term,t_task.year,count(sc.Sno)
 	WHERE sc.cno=t_task.Cno
 	GROUP BY sc.Cno
DROP TRIGGER T1;

(27) 创建一个触发器,能实现,SC插入某条记录时,根据系统时间自动填写年度和学期信息;每学年学期以当年9.1日和3.1日为学期第一天。

CREATE TRIGGER T2
AFTER INSERT ON sc 
FOR EACH ROW
BEGIN
	DECLARE thisterm char;
	DECLARE beginyear char;
	set beginyear=YEAR(CURRENT_DATE);
	IF MONTH(CURRENT_DATE)>=3 AND MONTH(CURRENT_DATE)<=9 THEN
   set thisterm="2";
ELSE
	set thisterm="1";
END IF;

	INSERT INTO sc(year,term)
	VALUES(beginyear+"-"+beginyear+1,thisterm);
	END;

DROP TRIGGER t2;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Asio otus

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值