对Course1表建立触发器,保证删除一门课程时,同步删除该门课程的所有选课记录。用SQL语句验证此触发器。
时间: 2024-03-06 13:51:25 浏览: 235
可以使用以下 SQL 语句来为 Course1 表添加触发器:
```
CREATE TRIGGER trigger_name
BEFORE DELETE ON Course1
FOR EACH ROW
BEGIN
DELETE FROM selection WHERE course_id = OLD.course_id;
END;
```
其中,`trigger_name` 为触发器的名称,`OLD.course_id` 表示被删除的行的数据,`selection` 表示选课记录表。
可以使用以下 SQL 语句来验证此触发器:
```
DELETE FROM Course1 WHERE course_id = 'xxx';
```
其中,`xxx` 为被删除的课程的 ID。执行该语句后,如果触发器设置成功,则会同时删除该课程的所有选课记录。
相关问题
对Course1表建立触发器,保证删除一门课程时,同步删除该门课程的所有选课记录。用SQL语句验证此触发器
可以使用以下 SQL 语句创建和验证触发器:
```sql
-- 创建触发器
CREATE TRIGGER delete_course_trigger
AFTER DELETE ON Course1
FOR EACH ROW
BEGIN
DELETE FROM CourseSelection
WHERE course_id = OLD.course_id;
END;
-- 验证触发器
DELETE FROM Course1
WHERE course_id = 'C001';
```
这个触发器会在 Course1 表中的一条记录被删除后执行,自动删除选课记录表 CourseSelection 中所有与该课程相关的选课记录。我们可以使用 DELETE 语句删除 Course1 表中的一门课程,例如上面的代码删除课程编号为 C001 的课程,触发器会自动删除与该课程相关的选课记录。
(4)对Course1表建立触发器,保证删除一门课程时,同步删除该门课程的所有选课记录。用SQL语句验证此触发器。
以下是对Course1表建立触发器的SQL语句:
```
CREATE TRIGGER delete_course_trigger
BEFORE DELETE ON Course1
FOR EACH ROW
BEGIN
DELETE FROM Selection1 WHERE course_id = OLD.course_id;
END;
```
这个触发器会在删除Course1表中的一条记录之前被触发,然后会删除Selection1表中所有与该门课程相关的选课记录。测试此触发器的SQL语句如下:
```
DELETE FROM Course1 WHERE course_id = 'C001';
```
如果该门课程相关的选课记录都被成功删除,则说明触发器生效。
阅读全文