Professional Documents
Culture Documents
\c prueba;
begin;
7.-Finalizar transaccion
END;
8. - En el segundo registro utilizamos el comando COMMIT de forma explicita para hacer los cambios
permanentes.
BEGIN
insert into
invoicedetails(invoice_id,invoiced_description,invoiced_quantity,invoiced_amount)
values(currval('invoices_invoice_id_seq'),'DVD for recording',6,111);
COMMIT;
9. - Ahora insertamos un nuevo registro y eliminamos un par pero en vez de confirmar la transaccin
con COMMIT deshacemos los cambios y regresamos los registros a su estado original, utilizando
ROLLBACK.
begin;
insert into invoices(invoice_number,invoice_date,invoice_total)
values(20999,'02/02/2013',209.97);
insert into
invoicedetails(invoice_id,invoiced_description,invoiced_quantity,invoiced_amount)
values(currval('invoices_invoice_id_seq'),'Answer calls',3,69.99);
rollback;
10. - En el siguiente bloque de PL/SQL annimo vamos a utilizar los comandos anteriores adems del
comando SAVEPOINT el cul permite deshacer parcialmente los cambios hechos dentro de una
transaccin y no toda la transaccin por completo.
Persistimos entonces solo los cambios antes del SAVEPOINT, los cambios realizados despus sern
revertidos por el comando ROLLBACK.
BEGIN
SAVEPOINT Test_savepoint;
ROLLBACK to Test_savepoint;