首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在dplyr中使用参数化SQL?

如何在dplyr中使用参数化SQL?
EN

Stack Overflow用户
提问于 2017-08-22 03:27:24
回答 1查看 601关注 0票数 4

我正尝试在SQL Server上使用dplyr执行SQL查询:

代码语言:javascript
运行
复制
tbl(con, sql(sqlQuery))

查询是使用sprintf("SELECT ... WHERE a = '%s')动态生成的。这是一个糟糕的实践,因为它可能被滥用于SQL注入,但我找不到任何文档或dplyr中参数化查询的工作示例。它能做到吗?如何做到?

连接(con)正在使用数据库接口、odbc库和{SQL Server Native Client 11.0} ODBC驱动程序:

代码语言:javascript
运行
复制
con <- DBI::dbConnect(odbc::odbc(),
                      Driver = "{SQL Server Native Client 11.0}",
EN

回答 1

Stack Overflow用户

发布于 2017-11-14 22:56:22

根据你需要参数的目的,根据你的例子,它看起来可能是WHERE语句,你可以在R中定义参数,然后使用它作为你的dplyr动词。

代码语言:javascript
运行
复制
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中分配的任何内容都可以在filtermutate中引用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45804290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档