SQL 存储过程(学生,课程表,选修表)
时间: 2023-09-15 17:17:33 浏览: 269
好的,你的问题是 SQL 存储过程,我可以给你一个关于学生、课程表和选修表的例子。
首先,我们需要创建三个表:
```sql
CREATE TABLE students (
student_id INT PRIMARY KEY,
student_name VARCHAR(50),
student_email VARCHAR(50)
);
CREATE TABLE courses (
course_id INT PRIMARY KEY,
course_name VARCHAR(50),
course_description VARCHAR(200)
);
CREATE TABLE enrollments (
enrollment_id INT PRIMARY KEY,
student_id INT,
course_id INT,
enrollment_date DATE,
FOREIGN KEY (student_id) REFERENCES students(student_id),
FOREIGN KEY (course_id) REFERENCES courses(course_id)
);
```
这些表分别表示学生信息、课程信息和选修信息。
接下来,我们可以编写一个存储过程,用于向 enrollments 表中添加新的选修记录:
```sql
CREATE PROCEDURE add_enrollment(
IN student_id_param INT,
IN course_id_param INT,
IN enrollment_date_param DATE
)
BEGIN
INSERT INTO enrollments (student_id, course_id, enrollment_date)
VALUES (student_id_param, course_id_param, enrollment_date_param);
END;
```
这个存储过程接受三个参数:学生 ID、课程 ID 和选修日期。它将这些值插入到 enrollments 表中,从而创建一个新的选修记录。
我们可以使用以下 SQL 语句来调用这个存储过程:
```sql
CALL add_enrollment(1, 1, '2021-01-01');
```
这将向学生 ID 为 1 的学生添加一条选修记录,选修课程 ID 为 1,选修日期为 2021 年 1 月 1 日。
当然,这只是一个简单的例子,存储过程可以更加复杂,可以包括条件判断、循环以及其他 SQL 语句。但是,这个例子可以帮助你理解 SQL 存储过程以及如何在学生、课程表和选修表中使用它们。
阅读全文
相关推荐


















