【发布时间】:2012-04-11 01:28:07
【问题描述】:
在R中使用ROracle时,我想给数据绑定一些参数,所以我这样做:
> dbh <- dbConnect('Oracle', 'user/pass@host.com:port/sid')
> st <- dbPrepareStatement(dbh, statement="SELECT x FROM mytab WHERE id=:1",
bind="character")
> st <- dbExecStatement(st, data.frame(id=c("9ae", "1f3"), stringsAsFactors=F))
> fetch(st)
x
0 FOO
出乎意料的是它只使用数据框的 first 行来执行SELECT(如果它同时使用两行,在这种情况下我会得到 2 个输出行,而不是1),与ROracle文档相反:
dbPrepareStatement的对象 然后将产品与 a 一起使用data.frame(应该同意 绑定规范)在调用中dbExecStatement被执行data.frame的每一行。
是我做错了吗,还是上面的措辞可能只适用于INSERT/UPDATE 语句?
【问题讨论】: