Advertisement
Guest User

Untitled

a guest
Aug 6th, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.39 KB | None | 0 0
  1. UPDATE target_table SET col1_target = col1_source FROM source_table WHERE id >= 0 AND id < 10;
  2. UPDATE target_table SET col1_target = col1_source FROM source_table WHERE id >= 10 AND id < 20;;
  3. UPDATE target_table SET col1_target = col1_source FROM source_table WHERE id >= 20 AND id < 30;
  4.  
  5. etc...
  6.  
  7. library(RPostgreSQL)
  8.  
  9. num <- seq(0, 100, 10)
  10.  
  11. query.func <- function(num){
  12.  
  13. con <- dbConnect(PostgreSQL(), dbname = "name", post = 5432, user = "user_name", password = "password")
  14.  
  15. num2 <- num + 10
  16.  
  17. q1 <- paste('UPDATE target_table SET col1_target = col1_source FROM source_table WHERE id >=', num, 'AND id <', num2, sep = "")
  18.  
  19. dbSendQuery(con, q1)
  20.  
  21. dbDisconnect(con)
  22. }
  23.  
  24. lapply(num, query.func)
  25.  
  26. no_cores <- detectCores() - 1
  27.  
  28. cl <- makeCluster(no_cores)
  29.  
  30. clusterExport(cl, "query.func")
  31. clusterExport(cl, "num")
  32.  
  33. clusterEvalQ(cl, library(RPostgreSQL))
  34.  
  35. parLapply(cl, num, query.func)
  36.  
  37. stopCluster()
  38.  
  39. UPDATE target_table SET col1_target = col1_source FROM source_table WHERE id >= 0 AND id < 10;
  40. UPDATE target_table SET col1_target = col1_source FROM source_table WHERE id >= 10 AND id < 20;;
  41. UPDATE target_table SET col1_target = col1_source FROM source_table WHERE id >= 20 AND id < 30;
  42.  
  43. UPDATE targate_table set col1_target = col1_source
  44. FROM source_table
  45. WHERE (id BETWEEN 0 AND 10)
  46. OR (id BETWEEN 10 AND 20)
  47. OR (id BETWEEN 20 AND 30);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement