从R中的数据框更新数据库表

时间:2014-07-08 04:56:48

标签: sql r rodbc

我在DB中有一个tabe - table1,如下所示:

FN  FD  IND
123 Tx1 Q
124 Tx2 Q
125 Tx3 Q
126 Tx4 Q
127 Tx5 Q
128 Tx6 Q
129 Tx7 Q1
130 Tx8 Q1
131 Tx9 Q1
132 T10 Q1

我运行以下代码 - 获取记录

library(RODBC)
channel <- odbcConnect("R",uid="root",pwd="password@123")
mytable <- sqlQuery(channel, paste(" SELECT * 
                                     from schema.table1 
                                     where Ind="Q1"", sep="" ))

现在mytable有4条记录。 我的问题是 - 我需要将列IND更新为这4条记录的Q2(这意味着我将这些记录读入R)

mytable在将来的提取中可以有更多记录(500条记录)。 如何将列IND更新为Q2从我从DB获取的记录(即R中的mytable)。我使用SQL Developer作为DB。

我试过 - 在代码之下 - 但我可以做1条记录。

update.query <- paste("UPDATE schema.table1 ", 
                       "SET IND='Q2'",
                       "WHERE FN ='129'", sep="")
dummy <- sqlQuery(channel, update.query)

mytable是R中的数据框。table1是DB中的表。我不允许在DB中创建临时表。

0 个答案:

没有答案