数据库更新

时间:2011-01-20 06:49:34

标签: database postgresql insert-update

情境:

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

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

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

要求:

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

请帮助我完成这些!!!#/ p>的逻辑实施

由于

Jayakrishnan

2 个答案:

答案 0 :(得分:1)

我认为你正在寻找构建软件来实现你想要的东西,而不是寻找现成的解决方案。

您可以开发哪些环境? C? PHP? Java的? C#?

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

答案 1 :(得分:0)

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

然而,这让我觉得很危险。有人会依赖于此,然后当触发器不存在时,你会发生实际的删除...最好将它封装在一个视图或其他东西之后并对其进行触发。或者通过存储过程或其他东西。