创建一个名为stc_info的存储过程,要求该存储过程有3个参数。输入参数为Tid和type,输出参数为info。满足:根据教师编号(Tid)来查询stc表中的记录。如果type值为1,返回该教师讲授的学生人数,如果type值为2,返回该教师讲授课程的平均成绩,如果type为其他值,返回error提示。 调用该存储过程。
时间: 2024-03-03 15:51:17 浏览: 132
获取表和存储过程的信息
好的,以下是符合要求的存储过程代码:
```mysql
CREATE PROCEDURE stc_info(IN Tid INT, IN type INT, OUT info VARCHAR(50))
BEGIN
DECLARE result INT;
IF type = 1 THEN
SELECT COUNT(*) INTO result FROM stc WHERE Tid = Tid;
SET info = CONCAT('该教师讲授的学生人数为:', result);
ELSEIF type = 2 THEN
SELECT AVG(score) INTO result FROM stc WHERE Tid = Tid;
SET info = CONCAT('该教师讲授课程的平均成绩为:', result);
ELSE
SET info = 'error';
END IF;
END;
```
调用该存储过程的方式如下:
```mysql
CALL stc_info(123, 1, @info);
SELECT @info;
```
其中,123为教师编号,1为type值,@info为输出参数info的变量名。调用后,可以通过SELECT语句查看输出结果。
阅读全文