Пример 1. Rolling back a DELETE statement
- In the following example, we count the number of rows in a table, turn off AUTOCOMMIT mode on a database connection, delete all of the rows in the table and return the count of 0 to prove that the rows have been removed. We then issue db2_rollback() and return the updated count of rows in the table to show that the number is the same as before we issued the DELETE statement. The return to the original state of the table demonstrates that the roll back of the transaction succeeded.
<?php $conn = db2_connect($database, $user, $password);
if ($conn) { $stmt = db2_exec($conn, "SELECT count(*) FROM animals"); $res = db2_fetch_array( $stmt ); echo $res[0] . "\n"; // Turn AUTOCOMMIT off db2_autocommit($conn, DB2_AUTOCOMMIT_OFF); // Delete all rows from ANIMALS db2_exec($conn, "DELETE FROM animals"); $stmt = db2_exec($conn, "SELECT count(*) FROM animals"); $res = db2_fetch_array( $stmt ); echo $res[0] . "\n"; // Roll back the DELETE statement db2_rollback( $conn ); $stmt = db2_exec( $conn, "SELECT count(*) FROM animals" ); $res = db2_fetch_array( $stmt ); echo $res[0] . "\n"; db2_close($conn); } ?>
|
Результат выполнения данного примера:
|