我正尝试在SQL Server上使用dplyr执行SQL查询:
tbl(con, sql(sqlQuery))查询是使用sprintf("SELECT ... WHERE a = '%s')动态生成的。这是一个糟糕的实践,因为它可能被滥用于SQL注入,但我找不到任何文档或dplyr中参数化查询的工作示例。它能做到吗?如何做到?
连接(con)正在使用数据库接口、odbc库和{SQL Server Native Client 11.0} ODBC驱动程序:
con <- DBI::dbConnect(odbc::odbc(),
                      Driver = "{SQL Server Native Client 11.0}",发布于 2017-11-14 22:56:22
根据你需要参数的目的,根据你的例子,它看起来可能是WHERE语句,你可以在R中定义参数,然后使用它作为你的dplyr动词。
my_param <- "FILTER_VALUE" #create param
my_table <- tbl(con, "TABLE_NAME") #create ref tibble
my_table <- my_table %>% filter( a == my_param ) # filter by param
my_table <- my_table %>% collect() # execute query在R中分配的任何内容都可以在filter或mutate中引用。
https://stackoverflow.com/questions/45804290
复制相似问题