jueves, 6 de junio de 2013

Savepoint (parte 5)

Este ejemplo fue probado en Oracle 10. Creamos un savepoint andrew. Luego creamos un savepoint brian. Hacemos un rollback al savepoint andrew. Tras hacer éste, el savepoint brian desaparece porque fue creado después del savepoint andrew. Entonces intentamos a hacer otro rollback al savepoint brian y, por supuesto, éste no funciona. 

SQL> create table names
  2  (first_name varchar2(10))
  3  /

Tabla creada.

SQL> insert into names values ('Andrew')
  2  /

1 fila creada.

SQL> savepoint andrew
  2  /

Punto de grabacion creado.

SQL> update names set first_name = 'Brian'
  2  /

1 fila actualizada.

SQL> savepoint brian
  2  /

Punto de grabacion creado.

SQL> update names set first_name = 'Colin'
  2  /

1 fila actualizada.

SQL> rollback to savepoint andrew
  2  /

Rollback terminado.

SQL> select first_name from names
  2  /

FIRST_NAME
----------
Andrew

SQL> rollback to savepoint brian
  2  /
rollback to savepoint brian
*
ERROR en linea 1:
ORA-01086: nunca se establecio el punto de grabacion
'BRIAN'

SQL> select first_name from names
  2  /

FIRST_NAME
----------
Andrew

SQL>

No hay comentarios:

Publicar un comentario