martes, 4 de junio de 2013

Savepoint (parte 3)

En este ejemplo, probado en Oracle 10, tenemos dos savepoints con el mismo nombre:

SQL> create table nombres
  2  (nombre1 varchar2(10))
  3  /

Tabla creada.

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

1 fila creada.

SQL> select * from nombres
  2  /

NOMBRE1
----------
Andrew

SQL>

Aquí creamos el primer savepoint, lo cual se llama sp1:

SQL> savepoint sp1
  2  /

Punto de grabacion creado.

SQL> update nombres set nombre1 = 'Brian'
  2  /

1 fila actualizada.

SQL> select * from nombres
  2  /

NOMBRE1
----------
Brian

SQL>

Y aquí creamos el segundo (con el mismo nombre):

SQL> savepoint sp1
  2  /

Punto de grabacion creado.

SQL> update nombres set nombre1 = 'Colin'
  2  /

1 fila actualizada.

SQL> select * from nombres
  2  /

NOMBRE1
----------
Colin

SQL>

Hacemos un rollback al savepoint:

SQL> rollback to savepoint sp1
  2  /

Rollback terminado.

SQL>

Es el último savepoint que funciona y por eso el nombre que tenemos ahora es Brian:

SQL> select * from nombres
  2  /

NOMBRE1
----------
Brian

SQL>

No hay comentarios:

Publicar un comentario