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

How to use underscore properly in a dbGetQuery statement

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

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

其中 con 是与数据库的连接。 运行 此查询给出以下错误消息:

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 命令,它就可以完美运行。上面的代码有什么问题?

Variable_Set_Pri是字符串值,不是列名,所以需要用单引号括起来('):

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