我想通过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命令,它可以正常工作。上述代码的问题是什么?
答案 0 :(得分:1)
Variable_Set_Pri是一个字符串值,而不是列的名称,因此需要用单引号('
)包围:
output <- dbGetQuery(con,paste("select *",
" from Set_Name",
" WHERE Descr = '", v , "'", sep=""))