建立存储过程check_xk,功能是根据提供的参数学号和课程号,完成选课记录的插入功能。要求如下:
首先检查该课程选课人数是否已满(可自己根据表中数据的情况定义一个限定值),若满,则返回0;若不满,继续检查该学生是否已经选满3门课程,若满,则返回-1,否则将选课记录插入到SC表中,并返回1。
CREATE PROCEDURE check_xk
(IN stuno char(7), IN couno char(3),OUT i TINYINT )
BEGIN
IF (SELECT COUNT(*) FROM sc WHERE cno=couno)>=5 THEN
SET i=0;
ELSE
IF (SELECT COUNT(*) FROM sc WHERE sno=stuno)>=3
THEN SET i=-1;
ELSE
INSERT INTO sc(sno,cno) VALUES(stuno,couno);
SET i=1;
END IF;
END IF;
END
执行存储过程
CALL check_xk (‘9512101’,’C03’,@i);
SELECT @i;