These generics are responsible for getting data into and out of the database. They should be used a last resort - only use them when you can't make a backend work by providing methods for DBI generics, or for dbplyr's SQL generation generics. They tend to be most needed when a backend has special handling of temporary tables.
db_copy_to()
implementscopy_to.src_sql()
by callingdb_write_table()
(which callsDBI::dbWriteTable()
) to transfer the data, then optionally adds indexes (viasql_table_index()
) and analyses (viasql_table_analyze()
).db_compute()
implementscompute.tbl_sql()
by callingsql_query_save()
to create the table, then optionally adds indexes (viasql_table_index()
) and analyses (viasql_table_analyze()
).db_collect()
implementscollect.tbl_sql()
usingDBI::dbSendQuery()
andDBI::dbFetch()
.db_table_temporary()
is used for databases that have special naming schemes for temporary tables (e.g. SQL server and SAP HANA require temporary tables to start with#
)
Usage
db_copy_to(
con,
table,
values,
...,
overwrite = FALSE,
types = NULL,
temporary = TRUE,
unique_indexes = NULL,
indexes = NULL,
analyze = TRUE,
in_transaction = TRUE
)
db_compute(
con,
table,
sql,
...,
overwrite = FALSE,
temporary = TRUE,
unique_indexes = list(),
indexes = list(),
analyze = TRUE,
in_transaction = TRUE
)
db_collect(con, sql, n = -1, warn_incomplete = TRUE, ...)
db_table_temporary(con, table, temporary, ...)
See also
Other generic:
db-sql
,
db_connection_describe()
,
sql_escape_logical()