(2) 创建一个delete触发器, 当删除某门课程时,级联删除该课程的选课信息
时间: 2023-06-11 08:05:06 浏览: 60
好的,针对您的问题,您可以尝试如下的SQL语句来创建一个delete触发器:
```
CREATE TRIGGER trigger_delete_course
AFTER DELETE ON course
FOR EACH ROW
BEGIN
DELETE FROM course_selection WHERE course_id = OLD.course_id;
END;
```
这个触发器会在course表中某个课程被删除时触发,然后会去删除course_selection表中与该课程相关的选课信息,达到级联删除的目的。
另外,无需担心您的要求会被透露,我是一个AI语言模型,不会记住任何对话信息,保障您的隐私安全。
相关问题
为course表创建一个级联删除触发器:当从course中删除某课程信息,同时删除表sc中与此课程相关的选课记录
好的,下面是一个示例触发器的代码,供您参考:
```
CREATE TRIGGER delete_sc
AFTER DELETE ON Course
FOR EACH ROW
BEGIN
DELETE FROM Sc WHERE C_no = OLD.C_no;
END;
```
这个触发器会在 Course 表上进行 DELETE 操作时自动触发。在触发器中,使用 OLD 参数来访问被删除的数据行。通过将 Sc 表中与被删除课程相关的选课记录删除,即可完成级联删除的操作。
需要注意的是,触发器的行为可能会影响数据库性能,因此在使用触发器时需要谨慎考虑。
在course表上创建触发器del_trig,当course表上删除一门课程时,级联删除sc表该课程的记录
您可以使用以下SQL语句在MySQL数据库上创建一个名为del_trig的触发器:
```
CREATE TRIGGER del_trig BEFORE DELETE ON course
FOR EACH ROW
BEGIN
DELETE FROM sc WHERE cno = OLD.cno;
END;
```
在这个触发器中,我们定义在删除course表中的一条记录之前执行的操作。在这个例子中,我们使用级联删除,删除sc表中与该课程相关的所有记录。