-2

设想:

我有 Database1 (PostgreSQL)。为此 i) 当一条记录被删除时,状态 col。为该记录更改为非活动状态。ii) 当一条记录被更新时,当前记录被呈现为 INACTIVE 并插入一条新记录。iii) 插入照常进行。数据库中所有表的每条记录都有一个时间戳 col。

我有另一个与 Database1 同步的 database2 (SQLite),并遵循 Database1 的相同属性

Database1 会定期更改,我会得到所有表的 CSV 文件。CSV 将包含所有数据,包括新插入和更新。

要求:

我需要使 Database1 中的数据与新的 CSV 一致。i) 对于不在 CSV 中但在 Database1 中的记录(已删除记录) - 我必须将这些记录设置为非活动状态。ii) 对于 CSV 中存在但 Database1 中不存在的记录(插入记录) - 我需要插入这些记录。iii) 对于 CSV 中更新的记录,我需要将状态设置为非活动并插入新记录。

请帮助我实现这些的逻辑实现!!!

谢谢

贾亚克里希南

4

2 回答 2

1

我假设您正在寻找构建软件来实现您想要的,而不是寻找现成的解决方案。

您可以在哪些环境中开发?C?php?爪哇?C#?

许多环境中的许多选项都可以从 CSV/SQLite/PostgreSQL 读取/写入。

于 2011-01-26T04:24:18.433 回答
0

您可以使用 ON DELETE 触发器来覆盖现有的删除行为。

然而,这让我觉得很危险。有人会依赖它,然后当触发器不存在时,您将发生实际删除......最好将其封装在视图或其他东西后面并在其上放置触发器。或者通过一个存储过程什么的。

于 2012-09-29T02:48:42.753 回答