背景
我有一个函数dbquery
可以简化从 R 中查询 MySQL 数据库的过程。
dbquery <- function(querystring) {
dvr <- dbDriver("MySQL")
con <- dbConnect(dvr, group = "databasename")
q <- dbSendQuery(con, querystring)
data <- fetch(q, n = -1)
return(data)
}
因此我可以发送:
dbquery(querystring = "select field_1, field_2, field_3
from table_a join table_b on this = that
join table_c on that = something
where field_4 in (1,2,3);"
但是,变量querystring
必须包含在引号内。这使得 Emacs ESS 不会像在 SQL 模式下那样很好地缩进我的查询 - 甚至不会像在没有引号而只是在 ESS-R 模式下那样缩进。
问题
是否有可能让 ESS 做到这一点?也许通过编写函数以便它接受不带引号的查询(并在函数中添加引号),或者向 .emacs 或 ess.el 添加一些内容?