dbCommit-methods           package:RSQLite           R Documentation

_D_B_M_S _T_r_a_n_s_a_c_t_i_o_n _M_a_n_a_g_e_m_e_n_t

_D_e_s_c_r_i_p_t_i_o_n:

     By default, SQLite is in auto-commit mode. 'dbBeginTransaction'
     starts a SQLite transaction and turns auto-commit off. 'dbCommit'
     and 'dbRollback' commit and rollback the transaction, respectively
     and turn auto-commit on.

_M_e_t_h_o_d_s:


     _c_o_n_n a 'SQLiteConnection' object, as produced by the function 
          'dbConnect'.

     ...  any database-specific arguments.


_R_e_f_e_r_e_n_c_e_s:

     See the Database Interface definition document 'DBI.pdf' in the
     base directory of this package or <URL:
     http://stat.bell-labs.com/RS-DBI>.

_S_e_e _A_l_s_o:

     'SQLite', 'dbConnect', 'dbSendQuery', 'dbGetQuery', 'fetch',
     'dbCommit', 'dbGetInfo', 'dbReadTable'.

_E_x_a_m_p_l_e_s:

     drv <- dbDriver("SQLite")
     tfile <- tempfile()
     con <- dbConnect(drv, dbname = tfile)
     data(USArrests)
     dbWriteTable(con, "arrests", USArrests)
     dbGetQuery(con, "select count(*) from arrests")[1, ]

     dbBeginTransaction(con)
     rs <- dbSendQuery(con, "DELETE from arrests WHERE Murder > 1")
     do_commit <- if (dbGetInfo(rs)[["rowsAffected"]] > 40) FALSE else TRUE
     dbClearResult(rs)
     dbGetQuery(con, "select count(*) from arrests")[1, ]
     if (!do_commit)
         dbRollback(con)
     dbGetQuery(con, "select count(*) from arrests")[1, ]

     dbBeginTransaction(con)
     rs <- dbSendQuery(con, "DELETE from arrests WHERE Murder > 5")
     dbClearResult(rs)
     dbCommit(con)
     dbGetQuery(con, "select count(*) from arrests")[1, ]

     dbDisconnect(con)

