有一张叫做sourcedata和sourcerealdata的表 两张表结构一样 要求在sourcedata有数据插入的时候 将最新的数据插入到 sourcerealdata表中 要求sourcerealdata中只保存最新的数据
时间: 2024-02-21 19:02:02 浏览: 81
好的,你可以使用数据库的 `TRIGGER` 功能来实现这个需求。以下是 MySQL 数据库的示例触发器代码,适用于 `sourcedata` 表和 `sourcerealdata` 表都有一个自增长的 `id` 字段。
```sql
CREATE TRIGGER trg_insert_sourcerealdata
AFTER INSERT ON sourcedata
FOR EACH ROW
BEGIN
DELETE FROM sourcerealdata; -- 先删除已有的数据
INSERT INTO sourcerealdata (id, col1, col2, col3) -- 这里假设 sourcerealdata 表有 col1、col2、col3 三个字段
VALUES (NEW.id, NEW.col1, NEW.col2, NEW.col3); -- 将最新的数据插入 sourcerealdata 表
END;
```
这个触发器会在 `sourcedata` 表插入新数据后自动执行。它会先删除 `sourcerealdata` 表中的所有数据,然后将最新插入的一条数据插入到 `sourcerealdata` 表中。这样就保证了 `sourcerealdata` 表中只保存最新的一条数据。
你可以根据你的实际需求修改这个触发器代码。注意,不同的数据库系统可能有不同的语法和限制。
阅读全文