存储过程的建立及执行

建立存储过程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;

你可能感兴趣的:(sql基础)