我的表在 Material.db 中保存材料详细信息。材料处理完毕后,其详细信息将被删除,并插入新的材料详细信息。在删除之前,我希望将此数据存储在存档数据库 archive.db 中。
如何使用触发器来实现这一点?为了避免更改我的应用程序,我想要一个 SQLite 解决方案,但我不知道触发器是否可以插入到不同的数据库中。
触发器通常无法执行您想要的操作,但临时触发器可以。您可以拥有从要存档的表中删除的连接附加存档数据库,然后创建一个临时触发器,例如:
CREATE TEMP TRIGGER name AFTER DELETE ON original_table BEGIN INSERT INTO archive_table VALUES (old.column_name1, old.column_name2, etc.); END;
触发器中的归档表引用不能是完全限定的表名(如
attached_db.archive_table