Ниже приведено резюме того, что в настоящее время поддерживается в RSQLite для связанных параметров . Вы правы, что в настоящее время нет поддержки для SELECT, но для этого нет веской причины, и я хотел бы добавить поддержку .
Если вы чувствуете, как взлом, вы можете получить только для чтения, проверку всех связанных DBI пакетов здесь:
use --user=readonly --password=readonly
https://hedgehog.fhcrc.org/compbio/r-dbi/trunk
https://hedgehog.fhcrc.org/compbio/r-dbi/trunk/DBI
https://hedgehog.fhcrc.org/compbio/r-dbi/trunk/SQLite/RSQLite
Я хотел бы получать патчи, особенно если они включают в себя тесты и документацию. Унифицированный diff, пожалуйста.Я на самом деле все мои разработки с помощью Git и поэтому лучший случай, чтобы создать GIT клон сказать RSQLite, а затем отправить мне посмотреть различия в git format-patch -n git-svn..
Во всяком случае, вот несколько примеров:
library("RSQLite")
make_data <- function(n)
{
alpha <- c(letters, as.character(0:9))
make_key <- function(n)
{
paste(sample(alpha, n, replace = TRUE), collapse = "")
}
keys <- sapply(sample(1:5, replace=TRUE), function(x) make_key(x))
counts <- sample(seq_len(1e4), n, replace = TRUE)
data.frame(key = keys, count = counts, stringsAsFactors = FALSE)
}
key_counts <- make_data(100)
db <- dbConnect(SQLite(), dbname = ":memory:")
sql <- "
create table keys (key text, count integer)
"
dbGetQuery(db, sql)
bulk_insert <- function(sql, key_counts)
{
dbBeginTransaction(db)
dbGetPreparedQuery(db, sql, bind.data = key_counts)
dbCommit(db)
dbGetQuery(db, "select count(*) from keys")[[1]]
}
## for all styles, you can have up to 999 parameters
## anonymous
sql <- "insert into keys values (?, ?)"
bulk_insert(sql, key_counts)
## named w/ :, $, @
## names are matched against column names of bind.data
sql <- "insert into keys values (:key, :count)"
bulk_insert(sql, key_counts[ , 2:1])
sql <- "insert into keys values ($key, $count)"
bulk_insert(sql, key_counts)
sql <- "insert into keys values (@key, @count)"
bulk_insert(sql, key_counts)
## indexed (NOT CURRENTLY SUPPORTED)
## sql <- "insert into keys values (?1, ?2)"
## bulk_insert(sql)
Можете ли вы предоставить примерный код, который будет работать так, как вам бы хотелось, чтобы он работал? какое поведение вы ожидаете от связанных переменных? –
Вы имеете в виду что-то вроде этого? http://stackoverflow.com/questions/2182337/how-to-use-a-variable-name-in-a-mysql-statement –
Я чувствую запах нового DBI с лучшими функциями. Мы все будем счастливы бета-тестерами, Кен .... –