COMMIT |
It makes permanent all changes to a table through the use of an INSERT, UPDATE, or DELETE operation. Este comando hace permanentes los cambios hechos a una tabla al usar INSERT, UPDATE o DELETE. |
Transaction |
A transaction is a process that requires several steps to complete and each step modifies the database (UPDATE, DELETE, INSERT). A transaction begins with the BEGIN TRANSACTION command, and may end in two ways: successfully or failed; as shown in the figure below.
Es un procedimiento que requiere varios pasos para completarse y cada paso modifica la base de datos (UPDATE, DELETE, INSERT). Una transacción comienza con el comando BEGIN TRANSACTION, y puede terminar de dos formas: con éxito o con fallas; como se muestra en la figura de abajo.
|
ROLLBACK |
It cancels all the intermediates changes made to a table when these changes have not been committed. For instance, suppose that a user has performed several changes to a table without using the COMMIT command, and suddenly he realizes that he has made a mistake. In this moment, he can use the ROLLBACK command in Oracle to undo all the changes he had made (this include all changes.) You can say that ROLLBACK is the same as going back to a Restore Point in Microsoft Windows. Este comando cancela todos los cambios hechos a una tabla desde la última vez que se ejecuto el comando COMMIT. Por ejemplo, suponga que un usuario ha hecho varios cambios a una tabla sin usar el comando COMMIT y de repente se da cuenta que ha cometido un error. En ese momento, el puede usar el comando ROLLBACK para deshacer todos los cambios que había hecho (estos cambios incluyen los cambios que eran correctos.) Usted puede decir que un ROLLBACK es lo mismo que regresar a un Punto de Restauración en Microsoft Windows. |
Tip |
All changes made to the rows of a table are stored in a database buffer or working storage area in main memory. If the user making changes to a table is working in a multi-user environment and this table is shared by other users, no changes made to the table will be accessible to the other user unless the person making the changes issues a COMMIT command. When the user commits the changes, the modified rows are written to the database files and the locks on all affected rows are released. These locks in the data can be eliminated using COMMIT or ROLLBACK. Todas las modificaciones a los renglones de una tabla se realizan en un buffer datos o en un área de memoria de trabajo. Si el usuario hace estos cambios en una base de datos multi-usuario, ningún cambio será mostrado a los otros usuarios hasta que éste ejecute el comando COMMIT. Una vez que el usuario ejecuta el comando COMMIT las modificaciones solicitadas por el usuario son hechas en forma permanente y cualquier candado en la base de datos afectando estos renglones es liberado. Estos candados en los datos pueden ser eliminados por el comando COMMIT o bien por el comando ROLLBACK. |
Tip |
Any DDL command (such as CREATE TABLE or DROP TABLE) implicitly commits any unsaved data before executing the command's stated function. Logging out of Oracle (or simply closing SQL*Plus) will automatically commit your changes. Cualquier comando del tipo DDL (tal como CREATE TABLE o DROP TABLE) implícitamente realiza una llamada al comando COMMIT guardando los cambios en forma inmediata. Por otro lado, cuando uno se desconecta de una base de datos, el programa cliente siempre realizará una llamada al comando COMMIT automáticamente. |
SAVEPOINT |
It identifies a point in the transaction to which we can go back to, provided that the transaction has not been committed. SAVEPOINT allows you to undo only a part of the current transaction by allowing to go back to a particular point in time. Este permite guardar un punto en una transacción al cual se puede regresar siempre y cuando no se haya ejecutado el comando COMMIT. SAVEPOINT permite deshacer una parte de la transacción, ya que es posible regresar a éstos en un momento dado. |
Problem 1 |
Discuss the code below that shows how to use ROLLBACK. Discuta el código de abajo que muestra cómo usar ROLLBACK. |
Problem 2 |
city_bank> Test the following SQL command in Microsoft SQL Server. Pruebe el comando de SQL en Microsoft SQL Server. |
SQL |
SELECT name, address, ssn FROM friend; |
Problem 3 |
city_bank> Test the following SQL command in Microsoft SQL Server. Pruebe el comando de SQL en Microsoft SQL Server. |
SQL |
USE city_bank; BEGIN TRANSACTION; INSERT INTO friend (friend_id, name, address, birthdate, ssn) VALUES (5635, 'Contreras, Marco', 'Hidalgo 50', '1990-03-29', '123-45-7788'); GO SELECT name, address, ssn FROM friend; ROLLBACK; |
Problem 4 |
city_bank> Test the following SQL command in Microsoft SQL Server, note that the table remains the same. Pruebe el comando de SQL en Microsoft SQL Server, observe que la tabla permanece igual. |
SQL |
SELECT name, address, ssn FROM friend; |
Problem 5 |
Discuss the code below that shows how to use SAVEPOINT in Oracle. Discuta el código de abajo que muestra cómo usar SAVEPOINT en Oracle. |
Problem 6 |
Indicate whether the following statement is true or false: COMMIT must be used as frequently as possible to avoid locks in the tables and keep a good performance in the database. Diga si lo siguiente es verdadero o falso: El comando COMMIT debe usarse tan frecuentemente cómo sea posible para evitar los candados en las tablas y mantener un buen desempeño en la base de datos. |
Problem 7 |
Indicate whether the following statement is true or false: When you begin an important task of several steps, you must use COMMIT after completing each step. Diga si lo siguiente es verdadero o falso: Cuando inicie una tarea importante de varios pasos, usted debe usar el comando COMMIT al final de cada paso. |
Tip |
In order to keep the performance of the database:
A fin de mantener un buen desempeño en la base de datos:
|
Problem 8 |
Indicate whether BEGIN TRANSACTION is necessary when all the following steps must be executed:
Diga si BEGIN TRANSACTION es necesario cuando todos los pasos siguientes deben ser ejecutados:
|
Problem 9 |
Indicate whether BEGIN TRANSACTION is necessary when all the following steps must be executed:
Diga si BEGIN TRANSACTION es necesario cuando todos los pasos siguientes deben ser ejecutados:
|
Problem 10 |
Indicate whether BEGIN TRANSACTION is necessary when all the following steps must be executed:
Diga si BEGIN TRANSACTION es necesario cuando todos los pasos siguientes deben ser ejecutados:
|
Problem 11 |
Indicate whether BEGIN TRANSACTION is necessary when all the following steps must be executed:
Diga si BEGIN TRANSACTION es necesario cuando todos los pasos siguientes deben ser ejecutados:
|
Problem 12 |
Indicate whether BEGIN TRANSACTION is necessary when all the following steps must be executed:
Diga si BEGIN TRANSACTION es necesario cuando todos los pasos siguientes deben ser ejecutados:
|
Problem 13 |
Indicate whether BEGIN TRANSACTION is necessary when all the following steps must be executed:
Diga si BEGIN TRANSACTION es necesario cuando todos los pasos siguientes deben ser ejecutados:
|