Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2017
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.51 KB | None | 0 0
  1. conn <- odbcDriverConnect(connection ="Driver={SQL Server};Server=servername.com;
  2. catalog=Analysis;Uid=login;Pwd=parole")
  3.  
  4. sqlQuery(conn, paste ("use Analysis; ",
  5. "create table Analysis.dbo.ChM_credit_cards (",
  6. "id int null, ",
  7. "external_id nvarchar(100) null, ",
  8. "card_name nvarchar(50) null, ",
  9. "user_id bigint null, ",
  10. "expiry_status nvarchar(20) null, ",
  11. "is_deleted smallint null, ",
  12. "expiry_date date null, ",
  13. "card_number nvarchar(50) null, ",
  14. "is_business smallint null, ",
  15. "created_at datetime null, ",
  16. "updated_at datetime null, ",
  17. "saved_email nvarchar(100) null, ",
  18. "holder_name nvarchar(100) null, ",
  19. "activated smallint null, ",
  20. "identifier_id bigint null)"))
  21.  
  22. nr <- nrow(crcard)
  23.  
  24. for (i in 1:nr)
  25. {
  26. id_crc <- crcard$id[i]
  27. external_id_crc <- crcard$external_id[i]
  28. card_name_crc <- crcard$name[i]
  29. user_id_crc <- crcard$user_id[i]
  30. expiry_status_crc <- crcard$expiry_status[i]
  31. is_deleted_crc <- crcard$is_deleted[i]
  32. expiry_date_crc <- as.character(crcard$expiry_date[i])
  33. card_number_crc <- crcard$number[i]
  34. is_business_crc <- crcard$is_business[i]
  35. created_at_crc <- as.character(crcard$created_at[i])
  36. updated_at_crc <- as.character(crcard$updated_at[i])
  37. email_crc <- crcard$saved_email[i]
  38. holdername_crc <- crcard$holder_name[i]
  39. activated_crc <- crcard$activated[i]
  40. identifier_id_crc <- ifelse(is.na(crcard$identifier_id[i])==TRUE, 0, crcard$identifier_id[i])
  41.  
  42.  
  43. sqlQuery(conn, paste ("use Analysis; ",
  44. "insert into Analysis.dbo.ChM_credit_cards ",
  45. "(id , external_id, card_name, ",
  46. "user_id, expiry_status, is_deleted, ",
  47. "expiry_date, card_number, is_business, ",
  48. "created_at, updated_at, saved_email, ",
  49. "holder_name, activated, identifier_id)",
  50. "values (",
  51. id_crc,", '",
  52. external_id_crc,"', '",
  53. card_name_crc, "', ",
  54. user_id_crc, ", '",
  55. expiry_status_crc, "', ",
  56. is_deleted_crc, ", '",
  57. expiry_date_crc, "', '",
  58. card_number_crc, "', ",
  59. is_business_crc, ", '",
  60. created_at_crc,"', '",
  61. updated_at_crc,"', '",
  62. email_crc, "', '",
  63. holdername_crc, "', ",
  64. activated_crc, ", ",
  65. identifier_id_crc, ")"))
  66.  
  67. sqlInsert <- function(.data, dbname, table) {
  68. stopifnot(is.data.frame(.data))
  69. stopifnot(is.character(dbname) && length(dbname) == 1L)
  70. stopifnot(is.character(table) && length(table) == 1L)
  71. collapse <- function(x) paste0("'", x, "'", collapse = ",")
  72. cols <- collapse(names(.data))
  73. vals <- apply(.data, 1, function(row) paste0("(", collapse(row), ")"))
  74. vals <- paste(vals, collapse = ",")
  75. vals <- gsub("'NA'", "NULL", vals, fixed = TRUE)
  76. sql <- sprintf("USE %s; INSERT INFO %s.%s(%s) VALUES(%s);",
  77. dbname, dbname, table, cols, vals)
  78. return(sql)
  79. }
  80. sqlInsert(iris[1:5, ], "analytics", "iris")
  81. #> [1] "USE analytics; INSERT INFO analytics.iris('Sepal.Length','Sepal.Width','Petal.Length','Petal.Width','Species') VALUES(('5.1','3.5','1.4','0.2','setosa'),('4.9','3.0','1.4','0.2','setosa'),('4.7','3.2','1.3','0.2','setosa'),('4.6','3.1','1.5','0.2','setosa'),('5.0','3.6','1.4','0.2','setosa'));"
  82.  
  83. sqlInsert <- function(con, .data, dbname, table, pagesize = 10000) {
  84. stopifnot(is.data.frame(.data))
  85. stopifnot(is.character(dbname) && length(dbname) == 1L)
  86. stopifnot(is.character(table) && length(table) == 1L)
  87. collapse <- function(x) paste0("'", x, "'", collapse = ",")
  88. n <- .row_names_info(.data, 2)
  89. pages <- split(seq_len(n), seq_len(n) %/% (pagesize))
  90. cols <- collapse(names(.data))
  91. for (idx in pages) {
  92. vals <- apply(.data[idx, ], 1, function(row) paste0("(", collapse(row), ")"))
  93. vals <- paste(vals, collapse = ",")
  94. vals <- gsub("'NA'", "NULL", vals, fixed = TRUE)
  95. sql <- sprintf("USE %s; INSERT INFO %s.%s(%s) VALUES(%s);",
  96. dbname, dbname, table, cols, vals)
  97. cat(sql)
  98. }
  99. return(invisible(NULL))
  100. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement