dbGetQuery,DatabaseConnectorConnection,character-method {DatabaseConnector} | R Documentation |
Send query, retrieve results and then clear result set
Description
Returns the result of a query as a data frame.
dbGetQuery()
comes with a default implementation
(which should work with most backends) that calls
dbSendQuery()
, then dbFetch()
, ensuring that
the result is always free-d by dbClearResult()
.
For retrieving chunked/paged results or for passing query parameters,
see dbSendQuery()
, in particular the "The data retrieval flow" section.
Usage
## S4 method for signature 'DatabaseConnectorConnection,character'
dbGetQuery(conn, statement, translate = TRUE, ...)
Arguments
conn |
A DBIConnection object, as returned by
|
statement |
a character string containing SQL. |
translate |
Translate the query using SqlRender? |
... |
Other parameters passed on to methods. |
Details
This method is for SELECT
queries only
(incl. other SQL statements that return a SELECT
-alike result,
e. g. execution of a stored procedure or data manipulation queries
like INSERT INTO ... RETURNING ...
).
To execute a stored procedure that does not return a result set,
use dbExecute()
.
Some backends may
support data manipulation statements through this method for compatibility
reasons. However, callers are strongly advised to use
dbExecute()
for data manipulation statements.
Value
dbGetQuery()
always returns a data.frame
with as many rows as records were fetched and as many
columns as fields in the result set,
even if the result is a single value
or has one
or zero rows.
See Also
For updates: dbSendStatement()
and dbExecute()
.
Other DBIConnection generics:
DBIConnection-class
,
dbAppendTable()
,
dbCreateTable()
,
dbDataType()
,
dbDisconnect()
,
dbExecute()
,
dbExistsTable()
,
dbGetException()
,
dbGetInfo()
,
dbIsReadOnly()
,
dbIsValid()
,
dbListFields()
,
dbListObjects()
,
dbListResults()
,
dbListTables()
,
dbReadTable()
,
dbRemoveTable()
,
dbSendQuery()
,
dbSendStatement()
,
dbWriteTable()