如何在dbGetQuery语句中正确使用下划线

时间:2015-05-19 05:57:06

标签: r oracle jdbc

我想通过dbGetQuery连接到数据库。为此我有类似的东西(使用SQL oracle):

v <- "Variable_Set_Pri"
output <- dbGetQuery(con,paste('select *', 
                                         ' from Set_Name',
                                         ' WHERE Descr = ', v , sep=""))

其中con是与db的连接。运行此查询会出现以下错误消息:

Error in .verify.JDBC.result(r, "Unable to retrieve JDBC result set for ",  : 
                               Unable to retrieve JDBC result set for select * from Set_Name WHERE DESCR = Variable_Set_Pri (ORA-00904: "VARIABLE_SET_PRI": invalid identifier
                               )

但是,如果我直接运行SQL oracle命令,它可以正常工作。上述代码的问题是什么?

1 个答案:

答案 0 :(得分:1)

Variable_Set_Pri是一个字符串值,而不是列的名称,因此需要用单引号(')包围:

output <- dbGetQuery(con,paste("select *", 
                                     " from Set_Name",
                                     " WHERE Descr = '", v , "'", sep=""))
相关问题