R: Execute an update statement, query number of rows affected,...

dbExecute {DBI} | R Documentation

## Execute an update statement, query number of rows affected, and then close result set

### Description

Executes a statement and returns the number of rows affected. `dbExecute()` comes with a default implementation (which should work with most backends) that calls `dbSendStatement()`, then `dbGetRowsAffected()`, ensuring that the result is always free-d by `dbClearResult()`.

### Usage

    dbExecute(conn, statement, ...)

### Arguments

`conn` | A DBIConnection object, as returned by `dbConnect()`.
`statement` | a character string containing SQL.
`...` | Other parameters passed on to methods.

### Value

`dbExecute()` always returns a scalar numeric that specifies the number of rows affected by the statement. An error is raised when issuing a statement over a closed or invalid connection, if the syntax of the statement is invalid, or if the statement is not a non-`NA` string.

### Implementation notes

Subclasses should override this method only if they provide some sort of performance optimization.

### See Also

For queries: `dbSendQuery()` and `dbGetQuery()`.

Other DBIConnection generics: `DBIConnection-class`, `dbDataType`, `dbDisconnect`, `dbExistsTable`, `dbGetException`, `dbGetInfo`, `dbGetQuery`, `dbIsValid`, `dbListFields`, `dbListResults`, `dbListTables`, `dbReadTable`, `dbRemoveTable`, `dbSendQuery`, `dbSendStatement`, `dbWriteTable`

### Examples

    con <- dbConnect(RSQLite::SQLite(), ":memory:")

    dbWriteTable(con, "cars", head(cars, 3))
    dbReadTable(con, "cars")   # there are 3 rows
    dbExecute(con,
      "INSERT INTO cars (speed, dist) VALUES (1, 1), (2, 2), (3, 3);")
    dbReadTable(con, "cars")   # there are now 6 rows

    dbDisconnect(con)

[Package DBI version 0.6-1 Index]