2

我想知道是否有办法检索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 超出了我的技能。欢迎任何想法...

4

1 回答 1

3

RSQLite即将推出 CRAN的开发版本使用DBI::sqlCreateTable(). 此函数返回创建特定表的 SQL:

con <- dbConnect(RSQLite::SQLite(), ":memory:")
sqlCreateTable(con, "mtcars", mtcars[1:10, ])
dbDisconnect(con)

对于其他驱动程序,您可以在驱动程序的源代码中查找方法定义,例如,通过showMethods("dbWriteTable", includeDefs = TRUE)并从那里继续。

于 2016-11-11T13:46:50.040 回答