创建一个触发器,如果对以上的成绩表cjb执行删除记录,被删除的记录插入到成
时间: 2024-02-26 13:58:17 浏览: 102
绩表cjb_del中。触发器的代码如下:
```
CREATE TRIGGER trg_cjb_delete
AFTER DELETE ON cjb
FOR EACH ROW
BEGIN
INSERT INTO cjb_del VALUES (OLD.id, OLD.name, OLD.score);
END;
```
这个触发器会在对成绩表cjb执行删除记录操作后自动触发,在每次删除一条记录时,会将被删除的记录插入到成绩表cjb_del中。其中,OLD是一个关键字,表示已经被删除的记录。
相关问题
创建一个触发器,名称自定。如果对以上的成绩表cjb执行删除记录,被删除上的记录插入到成绩表的备份表cjb_bak中
好的,您需要在数据库中创建一个触发器来实现这个功能。以下是可供参考的SQL语句:
```sql
CREATE TRIGGER trigger_name
AFTER DELETE ON cjb
FOR EACH ROW
INSERT INTO cjb_bak VALUES (OLD.col1, OLD.col2, ...);
```
其中,`trigger_name`是您给触发器起的名称,`cjb`是您需要删除记录的表名,`cjb_bak`是备份表的名称,`OLD`是一个关键字,表示被删除的记录。
请注意,上述SQL语句仅供参考,具体实现方式可能因数据库类型、表结构等因素而异。在实际使用中,请根据您的具体情况进行修改。
编写数据库代码创建触发器后录入一条学生成绩,自动备份到成绩表cjb_ins中
假设我们有两个表,一个是学生成绩表 `score`,包含字段 `id`、`name`、`score`,另一个是成绩备份表 `score_backup`,包含字段 `id`、`name`、`score`、`create_time`。
我们可以使用如下的 SQL 代码创建一个触发器,在每次往 `score` 表插入一条记录时,自动将该记录备份到 `score_backup` 表中:
```sql
CREATE TRIGGER trg_score_insert
AFTER INSERT ON score
FOR EACH ROW
BEGIN
INSERT INTO score_backup(id, name, score, create_time)
VALUES (NEW.id, NEW.name, NEW.score, NOW());
END;
```
其中,`NEW` 表示插入的新记录,`NOW()` 表示当前时间。每次往 `score` 表插入一条记录时,该触发器会自动将相应的记录备份到 `score_backup` 表中,并包含当前时间信息。
阅读全文