创建一个名为stc_info的存储过程,要求该存储过程有3个参数。输入参数为Tid和type,输出参数为info。满足:根据教师编号(Tid)来查询stc表中的记录。如果type值为1,返回该教师讲授的学生人数,如果type值为2,返回该教师讲授课程的平均成绩,如果type为其他值,返回error提示。 调用该存储过程。 提示:上课人数(整型)、平均成绩(实型)和‘error’提示信息(字符型),全部由info参数返回,因此该参数应定义为字符型
时间: 2024-03-03 14:50:28 浏览: 22
好的,以下是创建stc_info存储过程的SQL语句:
```
CREATE PROCEDURE stc_info
@Tid CHAR(10),
@type INT,
@info VARCHAR(50) OUTPUT
AS
BEGIN
IF @type = 1
SELECT @info = CAST(COUNT(*) AS VARCHAR(10)) + ' students attend the courses taught by the teacher.'
FROM stc
WHERE Tid = @Tid
ELSE IF @type = 2
SELECT @info = 'The average score of the courses taught by the teacher is ' + CAST(AVG(score) AS VARCHAR(10)) + '.'
FROM stc
WHERE Tid = @Tid
ELSE
SELECT @info = 'Error: Invalid input parameter.'
END
```
该存储过程包含3个参数:@Tid(输入参数,教师编号),@type(输入参数,查询类型),@info(输出参数,返回查询结果或错误提示)。
当@type为1时,查询该教师讲授的学生人数,并将结果赋值给@info参数;当@type为2时,查询该教师讲授课程的平均成绩,并将结果赋值给@info参数;当@type为其他值时,返回错误提示信息。最终将查询结果或错误提示信息通过@info参数返回。
调用该存储过程的SQL语句如下:
```
DECLARE @info VARCHAR(50)
EXEC stc_info 'T001', 1, @info OUTPUT
PRINT @info
EXEC stc_info 'T001', 2, @info OUTPUT
PRINT @info
EXEC stc_info 'T001', 3, @info OUTPUT
PRINT @info
```
第一次调用查询该教师讲授的学生人数,第二次调用查询该教师讲授课程的平均成绩,第三次调用查询类型非法,将返回错误提示信息。最终将查询结果或错误提示信息通过PRINT语句输出。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)