问题描述
问题::我想使用R更新postgres数据库中表的值(多行和多列)。
我知道sql update语句可以是这样的,但是我认为遍历一组此类查询效率很低:
UPDATE table
SET col1 = value1,col2 = value2,...
WHERE col1 = "some-value"
问题::是否存在仅可用于更新表的特定行(可能仅更新列的子集)的功能(类似于dbWriteTable
)?如果没有,您能想到一种在postgres中更新多行的有效方法/ SQL查询,以及如何将R对象移交给sql查询吗?
编辑:假设我有一个外键,并且我不想打开ON DELETE CASCADE选项,那么如何有效地更新父表的多行和多列中的值(我只想更新父表,而不是子表)?
解决方法
首先,我将需要从SQL更新的数据读入R。其次,我将删除要在SQL中更新的数据。第三,我将更新后的数据从R附加到SQL。