
dbSendQuery
only submits and synchronously executes the
SQL statement to the database engine. It does not extracts any
records --- for that you need to use the function dbFetch
, and
then you must call dbClearResult
when you finish fetching the
records you need.dbSendQuery(conn, statement, ...)
DBIConnection
object, as produced by
dbConnect
.DBIResult
.
If the statement generates output (e.g., a SELECT
statement) the
result set can be used with fetch
to extract records.conn
object. The DBMS executes the statement, possibly
generating vast amounts of data. Where these data reside is driver-specific:
some drivers may choose to leave the output on the server and transfer them
piecemeal to R, others may transfer all the data to the client -- but not
necessarily to the memory that R manages. See the individual drivers'
dbSendQuery
method for implementation details.dbDisconnect
;
dbExistsTable
;
dbGetException
; dbGetQuery
,
dbGetQuery,DBIConnection,character-method
;
dbListFields
; dbListResults
;
dbListTables
; dbReadTable
,
dbWriteTable
; dbRemoveTable
if (require("RSQLite")) {
con <- dbConnect(RSQLite::SQLite(), ":memory:")
dbWriteTable(con, "mtcars", mtcars)
res <- dbSendQuery(con, "SELECT * FROM mtcars WHERE cyl = 4;")
dbFetch(res)
dbClearResult(res)
dbDisconnect(con)
}
Run the code above in your browser using DataLab