创建存储过程stu_info,执行时通过输入姓名,可以查询该姓名的学生的各科成绩。
时间: 2024-05-11 16:20:07 浏览: 185
好的,以下是一个简单的MySQL存储过程实现:
```
DELIMITER //
CREATE PROCEDURE stu_info(IN name VARCHAR(100))
BEGIN
SELECT * FROM student WHERE name = name;
END //
DELIMITER ;
```
其中,`student`是学生表,包含`name`、`subject`和`score`三个字段。你可以根据实际情况修改表名和字段名。
使用时,只需要执行以下语句即可:
```
CALL stu_info('张三');
```
其中,`'张三'`是要查询成绩的学生姓名。执行后,会返回该学生的所有科目成绩。
相关问题
创建存储过程stu_info,执行时通过输入姓名可以查询该学生的各科成绩。
以下是一个简单的存储过程示例,可以根据输入的姓名查询学生的各科成绩:
```
CREATE PROCEDURE stu_info
@name VARCHAR(50)
AS
BEGIN
SELECT *
FROM students
WHERE name = @name
END
```
假设你的学生信息存储在名为 "students" 的表中,该表包含姓名、数学成绩、语文成绩和英语成绩等字段。你可以在执行该存储过程时传递学生的姓名参数,然后该存储过程将返回该学生的所有成绩信息。例如,如果要查询名为 "张三" 的学生的成绩,可以执行以下命令:
```
EXEC stu_info '张三'
```
请根据实际情况修改表和字段名,并根据需要扩展该存储过程以满足你的需求。
用sql语句实现以下代码:输入以下代码,创建存储过程stu_info,执行时通过输入姓名,可以查询该姓名的学生的各科成绩。 2. 使用TeachSystem数据库中的student表、course表、SC表。 (1)创建一个存储过程stu_grade,查询学号为S01的学生的姓名、课程名称、成绩。 (2)调用存储过程stu_grade。 3. 使用TeachSystem数据库中的student表、course表、SC表。 (1)创建存储过程stu_name,当任意输入一个学生的姓名时,查看其课程的最高分、最低分、平均分。 (2)调用存储过程stu_name。 (3)删除存储过程stu_name。 4. 使用TeachSystem数据库中的SC表。 (1)创建一个存储过程stu_g_r,当输入一个学生的学号时,通过返回输出参数获取该学生选修课程的门数。 (2)执行存储过程stu_g_r,输入学号S02。 (3)显示S02号学生的选课门数。
创建存储过程stu_info:
```
CREATE PROCEDURE stu_info
@name VARCHAR(50)
AS
BEGIN
SELECT s.name, c.course_name, sc.grade
FROM student s
JOIN SC sc ON s.s_id = sc.s_id
JOIN course c ON c.c_id = sc.c_id
WHERE s.name = @name
END
```
创建存储过程stu_grade:
```
CREATE PROCEDURE stu_grade
AS
BEGIN
SELECT s.name, c.course_name, sc.grade
FROM student s
JOIN SC sc ON s.s_id = sc.s_id
JOIN course c ON c.c_id = sc.c_id
WHERE s.s_id = 'S01'
END
```
调用存储过程stu_grade:
```
EXECUTE stu_grade
```
创建存储过程stu_name:
```
CREATE PROCEDURE stu_name
@name VARCHAR(50)
AS
BEGIN
SELECT MAX(sc.grade) AS max_grade, MIN(sc.grade) AS min_grade, AVG(sc.grade) AS avg_grade
FROM student s
JOIN SC sc ON s.s_id = sc.s_id
WHERE s.name = @name
END
```
调用存储过程stu_name:
```
EXECUTE stu_name '张三'
```
删除存储过程stu_name:
```
DROP PROCEDURE stu_name
```
创建存储过程stu_g_r:
```
CREATE PROCEDURE stu_g_r
@s_id VARCHAR(50),
@count INT OUTPUT
AS
BEGIN
SELECT @count = COUNT(*)
FROM SC
WHERE s_id = @s_id
END
```
执行存储过程stu_g_r,输入学号S02:
```
DECLARE @count INT
EXECUTE stu_g_r 'S02', @count OUTPUT
SELECT @count
```
阅读全文