.创建存储过程 p_teacher_dept,用于查询指定院系的所有教师信息(输入参数 @tdept)
时间: 2024-03-20 12:39:13 浏览: 18
好的,以下是创建存储过程 p_teacher_dept 的 SQL 代码:
```
CREATE PROCEDURE p_teacher_dept
@tdept VARCHAR(50)
AS
BEGIN
SELECT *
FROM teachers
WHERE department = @tdept;
END
```
这个存储过程接受一个输入参数 @tdept,表示要查询的院系名称。然后它会从一个名为 teachers 的表中查询出所有 department 列值等于 @tdept 的记录,并返回这些记录的所有信息。你可以根据实际情况修改表名以及需要返回的列。
相关问题
创建存储过程pro_AddTeacher,用以插入指定教工号和姓名的教师信息
好的,以下是创建存储过程pro_AddTeacher的SQL代码:
```
CREATE PROCEDURE pro_AddTeacher
@TeacherID INT,
@TeacherName VARCHAR(50)
AS
BEGIN
INSERT INTO Teacher(TeacherID, TeacherName)
VALUES (@TeacherID, @TeacherName)
END
```
这个存储过程接受两个参数:教工号(@TeacherID)和姓名(@TeacherName),并将这两个值插入到名为Teacher的表中。你可以根据需要修改表名和参数名。
sql创建存储过程P_kk,输入班级名查询该班在2012年第2学期的开课情况(输出课程名,任课教师名) schedule, teacher, course, class name
好的,下面是创建存储过程P_kk的SQL语句:
```
CREATE PROCEDURE P_kk (IN class_name VARCHAR(20))
BEGIN
SELECT c.course_name, t.teacher_name
FROM schedule s
INNER JOIN course c ON s.course_id = c.course_id
INNER JOIN teacher t ON s.teacher_id = t.teacher_id
WHERE s.class_name = class_name
AND s.year = 2012
AND s.semester = 2;
END
```
解释一下上面的SQL语句:
- `CREATE PROCEDURE P_kk (IN class_name VARCHAR(20))`:创建了一个名为P_kk的存储过程,它有一个输入参数class_name,参数类型为VARCHAR(20)。
- `SELECT c.course_name, t.teacher_name`:查询结果包含课程名和任课教师名。
- `FROM schedule s`:从名为schedule的表中查询数据,表别名为s。
- `INNER JOIN course c ON s.course_id = c.course_id`:将schedule表与course表进行连接,连接条件为course_id相等。
- `INNER JOIN teacher t ON s.teacher_id = t.teacher_id`:将schedule表与teacher表进行连接,连接条件为teacher_id相等。
- `WHERE s.class_name = class_name AND s.year = 2012 AND s.semester = 2`:添加查询条件,班级名等于输入参数class_name,年份为2012,学期为2。
调用存储过程的方法为:
```
CALL P_kk('班级名');
```
其中,'班级名'为实际要查询的班级名。