Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 
Índice general » Mundo Perl » Módulos » DBI, Select for update Responder al tema
Nuevo tema


Página 1 de 1  [ 2 mensajes ] 
 
Nota 2011-06-10 19:40 @861

Perlero Nuevo
Registrado: 2011-05-24 05:59 @291
Mensajes: 20
DBI, Select for update
Hola, estoy usando el módulo DBI, y quisiera hacer un select de un registro y mantenerlo lockeado mientras realizo otras operaciones, para luego ejecutarle un update al mismo.

¿Cómo puedo hacerlo usando DBI?

Gracias.


Nota 2011-06-11 02:01 @125
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10249
Re: DBI, Select for update
Yo creo que DBI no tiene esa opción. Al menos, en ninguna parte de la documentación aparece la palabra locked (bueno, sí, aparece una vez, pero es parte de un comentario, no de un comando).

En cambio, sí que se puede dar la orden de bloqueo al motor de la base de datos.

Syntax: [ Download ] [ Hide ]
Using perl Syntax Highlighting
  1. $dbh->do("LOCK TABLES foo WRITE, bar READ");
  2. $sth->prepare("SELECT x,y,z FROM bar");
  3. $sth2->prepare("INSERT INTO foo SET a = ?");
  4. while (@ary = $sth->fetchrow_array()) {
  5.     $sth2->$execute($ary[0]);
  6.     }
  7. $sth2->finish();
  8. $sth->finish();
  9. $dbh->do("UNLOCK TABLES");
(Ejemplo extraído desde aquí)

En este ejemplo, se indica que se debe bloquear la tabla bar para solo lectura, y la tabla foo para lectura y escritura. Mientras estén bloqueadas, solo nosotros podremos realizar esas operaciones.

De todas maneras, me parece que lo que quieres hacer es una transacción.

_________________
JF^D Perl programming


Responder al tema  [ 2 mensajes ] 

Reglas del Foro
No puedes abrir nuevos temas en este Foro
No puedes responder a temas en este Foro
No puedes editar tus mensajes en este Foro
No puedes borrar tus mensajes en este Foro
No puedes enviar adjuntos en este Foro

Publicidad

Socializa

Síguenos por Twitter

Suscríbete GRATUITAMENTE al Boletín de Perl en Español

Saltar a:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traducción al español por Huan Manwë para phpbb-es.com
phpBB SEO