创建一个名为“proc_1”的存储过程,输入某同学的学号显示该学生的姓名、所在专业及其所有选修课程的成绩总分,若输入的学号不存在,则显示“输入有误或无此学号”。然后调用该存储过程。
时间: 2024-05-16 09:15:16 浏览: 99
实验六:创建存储过程和触发器1
创建存储过程的 SQL 代码如下:
```
CREATE PROCEDURE proc_1 (@stu_id INT)
AS
BEGIN
IF EXISTS (SELECT * FROM students WHERE id = @stu_id)
BEGIN
SELECT name, major, SUM(score) AS total_score
FROM students
INNER JOIN scores ON students.id = scores.stu_id
WHERE students.id = @stu_id
GROUP BY name, major
END
ELSE
BEGIN
PRINT '输入有误或无此学号'
END
END
```
该存储过程接受一个整数类型的参数 `@stu_id`,用来指定要查询的学生的学号。如果该学号存在,则查询该学生的姓名、所在专业及其选修课程的成绩总分;否则,打印出提示信息。
调用存储过程的 SQL 代码如下:
```
EXEC proc_1 123456
```
其中 `123456` 是要查询的学生的学号。根据具体情况进行替换。
阅读全文