我想知道是否有办法检索dbWriteTable
发送给DBMS的SQL查询。例如,对于以下示例。有没有办法获得查询?
library(DBI)
con <- dbConnect(RSQLite::SQLite(), ":memory:")
dbWriteTable(con, "mtcars", mtcars[1:10, ])
dbDisconnect(con)
编辑:2016-11-11
作为Postgres用户,我最感兴趣的是使用RPostegreSQL
发送的命令。在@krlmlr之后,我发现有一个函数postgresqlCopyInDataframe
本身调用C函数RS_PostgreSQL_CopyInDataframe
。所以我在这里遇到了一个死胡同,因为C超出了我的技能。任何想法都欢迎......
答案 0 :(得分:1)
RSQLite
的开发版本即将推出CRAN,使用DBI::sqlCreateTable()
。此函数返回创建特定表的SQL:
con <- dbConnect(RSQLite::SQLite(), ":memory:")
sqlCreateTable(con, "mtcars", mtcars[1:10, ])
dbDisconnect(con)
对于其他驱动程序,您可以在驱动程序的源代码中查找方法定义,例如,通过showMethods("dbWriteTable", includeDefs = TRUE)
并从那里继续。