Transaction management.
Source:R/dbBegin_PqConnection.R, R/dbCommit_PqConnection.R, R/dbRollback_PqConnection.R, and 1 more
postgres-transactions.RddbBegin() starts a transaction. dbCommit() and dbRollback()
end the transaction by either committing or rolling back the changes.
Usage
# S4 method for class 'PqConnection'
dbBegin(conn, ..., name = NULL)
# S4 method for class 'PqConnection'
dbCommit(conn, ..., name = NULL)
# S4 method for class 'PqConnection'
dbRollback(conn, ..., name = NULL)Arguments
- conn
a PqConnection object, produced by
DBI::dbConnect()- ...
Unused, for extensibility.
- name
If provided, uses the
SAVEPOINTSQL syntax to establish, remove (commit) or undo a ßsavepoint.
Examples
if (FALSE) { # postgresHasDefault()
library(DBI)
con <- dbConnect(RPostgres::Postgres())
dbWriteTable(con, "USarrests", datasets::USArrests, temporary = TRUE)
dbGetQuery(con, 'SELECT count(*) from "USarrests"')
dbBegin(con)
dbExecute(con, 'DELETE from "USarrests" WHERE "Murder" > 1')
dbGetQuery(con, 'SELECT count(*) from "USarrests"')
dbRollback(con)
# Rolling back changes leads to original count
dbGetQuery(con, 'SELECT count(*) from "USarrests"')
dbRemoveTable(con, "USarrests")
dbDisconnect(con)
}