编写一个触发器t_PBak,用以备份Product表的历史数据
时间: 2023-12-03 22:44:26 浏览: 114
Oracle触发器备份表数据
触发器 t_PBak 的功能是在每次向 Product 表中插入新数据时,自动将旧数据备份到一个历史表 Product_Backup 中。
以下是 t_PBak 的 SQL 代码:
```sql
CREATE TRIGGER t_PBak
AFTER INSERT ON Product
FOR EACH ROW
BEGIN
INSERT INTO Product_Backup (product_id, product_name, product_price, create_time)
VALUES (OLD.product_id, OLD.product_name, OLD.product_price, OLD.create_time);
END;
```
解释:
- `AFTER INSERT ON Product`:表示在向 Product 表中插入新数据之后触发该触发器。
- `FOR EACH ROW`:表示对每一行新插入的数据都执行相同的操作。
- `OLD`:表示新插入数据之前的数据,即旧数据。
- `INSERT INTO Product_Backup`:表示将旧数据插入到历史表 Product_Backup 中。
- `VALUES (OLD.product_id, OLD.product_name, OLD.product_price, OLD.create_time)`:表示将旧数据的 product_id、product_name、product_price 和 create_time 四个字段的值作为备份数据插入到历史表中。
这样,每次向 Product 表中插入新数据时,旧数据就会被备份到 Product_Backup 表中,以便日后查询历史数据。
阅读全文