为Course表创建一个名称为my_trig的触发器,当用户成功删除该表中的一条或多条记录时,触发器自动删除SC表中与之有关的记录。
时间: 2024-03-23 20:39:35 浏览: 113
好的,针对您的需求,可以使用以下SQL语句创建一个名为my_trig的触发器:
```
CREATE TRIGGER my_trig AFTER DELETE ON Course
FOR EACH ROW
BEGIN
DELETE FROM SC WHERE SC.cno = OLD.cno;
END;
```
该触发器会在Course表中的一条或多条记录被成功删除后执行,对应的SC表中与之有关的记录也会被自动删除。其中,OLD表示被删除的记录。
相关问题
在course表上创建触发器del_trig,当course表上删除一门课程时,级联删除sc表该课程的记录。 删除course表的一条记录,查看sc表相应记录是否被自动删除。
好的,您的问题是如何在course表上创建一个触发器,在删除一门课程时自动级联删除sc表中该课程的记录,然后检查sc表中是否相应记录被自动删除。下面是具体的SQL代码:
```
CREATE TRIGGER del_trig
AFTER DELETE ON course
FOR EACH ROW
BEGIN
DELETE FROM sc WHERE course_id = old.course_id;
END;
```
这个触发器在course表上创建,当course表上删除一门课程时,触发器会自动执行,将sc表中与该课程有关的记录删除。您可以通过以下步骤来测试该触发器是否有效:
1. 在course表中删除一门课程,例如:`DELETE FROM course WHERE course_id = 'C001';`
2. 检查sc表中是否已经删除了该课程的记录,例如:`SELECT * FROM sc WHERE course_id = 'C001';`
如果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表中与该课程相关的所有记录。
阅读全文