R 编写函数以从 Oracle 数据库中提取数据
R writing a function to extract data from an Oracle database
我正在尝试在 R 中编写一个函数,它接受输入并将其添加到预定义的 SQL 查询中。这是为了避免每次输入更改时都重写相同的查询,而是使用该函数。
但是我对函数的语法有疑问。
函数
该函数将 input
一个唯一 ID 和 returns 一个站点名称作为
。
library(RODBC)
con= odbcConnect(dsn = "DB", uid="morp101", pwd="abcdxyz1234",rows_at_time=500)
getsitename=function(input) {
sitename=sqlQuery(con,"Select DISTINCT(SITE_NAME) FROM SITE_TABLE
WHERE SITE_CODE = '&input&'")
return(sitename)
}
上述函数在测试时应给出以下输出
getsitename(1011APQ)
Result: Madison Bay
但是语法错误,不确定如何正确连接 input
。
如有任何建议,我们将不胜感激。并为缺乏可重现的数据而道歉,我不确定我如何获得这个问题。
您可以使用 paste0()
创建查询:
getsitename=function(input) {
query = paste0("Select DISTINCT(SITE_NAME) FROM SITE_TABLE WHERE SITE_CODE = '", input, "'")
sitename=sqlQuery(con,query)
return(sitename)
}
所以当input='1234'
时,paste0()
语句returns
"Select DISTINCT(SITE_NAME) FROM SITE_TABLE WHERE SITE_CODE = '1234'"
我正在尝试在 R 中编写一个函数,它接受输入并将其添加到预定义的 SQL 查询中。这是为了避免每次输入更改时都重写相同的查询,而是使用该函数。
但是我对函数的语法有疑问。
函数
该函数将 input
一个唯一 ID 和 returns 一个站点名称作为
library(RODBC)
con= odbcConnect(dsn = "DB", uid="morp101", pwd="abcdxyz1234",rows_at_time=500)
getsitename=function(input) {
sitename=sqlQuery(con,"Select DISTINCT(SITE_NAME) FROM SITE_TABLE
WHERE SITE_CODE = '&input&'")
return(sitename)
}
上述函数在测试时应给出以下输出
getsitename(1011APQ)
Result: Madison Bay
但是语法错误,不确定如何正确连接 input
。
如有任何建议,我们将不胜感激。并为缺乏可重现的数据而道歉,我不确定我如何获得这个问题。
您可以使用 paste0()
创建查询:
getsitename=function(input) {
query = paste0("Select DISTINCT(SITE_NAME) FROM SITE_TABLE WHERE SITE_CODE = '", input, "'")
sitename=sqlQuery(con,query)
return(sitename)
}
所以当input='1234'
时,paste0()
语句returns
"Select DISTINCT(SITE_NAME) FROM SITE_TABLE WHERE SITE_CODE = '1234'"