7

Rを介してpostgresql dbのデータを新しいデータで更新するにはどうすればよいですか?

私はもう試した

dbGetQuery(con,"UPDATE table SET column1=:1,column2=:2, column3=:3 
              where id=:4", data=Rdata[,c("column1", "column3", "column3","id")])

また、コロンを $ に置き換えてみましたが、それもうまくいきませんでした。私は得続けます:

Error in postgresqlExecStatement(conn, statement, ...) : 
unused argument(s)
4

2 に答える 2

12

私はそれを使用してそれを理解しました:

update <- function(i) {
drv <- dbDriver("PostgreSQL")
con <- dbConnect(drv, dbname="db_name", host="localhost", port="5432", user="chris", password="password")
txt <- paste("UPDATE data SET column_one=",data$column_one[i],",column_two=",data$column_two[i]," where id=",data$id[i])
dbGetQuery(con, txt)
dbDisconnect(con)
}


registerDoMC()

foreach(i = 1:length(data$column_one), .inorder=FALSE,.packages="RPostgreSQL")%dopar%{
update(i)
}
于 2013-03-04T03:03:33.063 に答える
1

少なくとも RODBC には特定の関数sqlUpdateがあります。

sqlUpdate は、行が既に存在するテーブルを更新します。データ フレーム データには、テーブル内の列 (の一部) にマップされる名前の列が含まれている必要があります

http://cran.r-project.org/web/packages/RODBC/RODBC.pdfを参照してください。

于 2013-03-02T21:51:06.157 に答える