sqlInterpolate具有3个或更多参数的奇怪行为

问题描述

我可以将2个参数传递给sqlInterpolate很好,但是如果我尝试传递3个或更多参数,事情就会变得很奇怪。有智慧吗?

例如:

# assume "conn" is a database connection

library(DBI)

sqlInterpolate(conn,"select a")
#> <sql> select a

sqlInterpolate(conn,"select ?a",a="A")
#> <sql> select 'A'

sqlInterpolate(conn,"select ?a ?b",a="A",b="B")
#> <sql> select 'A' 'B'

sqlInterpolate(conn,"select ?a ?b ?c",b="B",c="C")
#> Error in (function (classes,fdef,mtable)  : 
#>  unable to find an inherited method for function ‘sqlInterpolate’ for signature ‘"character"’

sqlInterpolate(conn,"select ?a ?b ?c d","select ?a ?b c ?d",d="D")
#> <sql> select 'A' 'B' c 'D'

起初,我认为如果您尝试向该函数传递三个参数,则此函数将返回错误,但是根据最后一条语句,这显然是不正确的。所以...我迷路了。

谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)