| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Fernando Diaz Master


Registrado: 18 Jul 2004Mensajes: 273Ubicación: Talavera de la Reina (Toledo)
|
Publicado: Mie 27 Abr, 2005 3:36 pm Asunto: Como bloquear una tupla de una tabla |
|
|
No hay alguna forma via SQL, de bloquear una tupla de una tabla, he leido que hay que crearse un campo nuevo bloqueado y poner un * pero esque si tuviera 100 bloqueados, y se reiniciara el PC, se quedarian bloqueados eternamente, a noser que desbloqueara TODOS...
Alguna idea???o solucion??
Gracias _________________ Los problemas mas dificiles tienen las soluciones mas sencillas
 |
|
| Volver arriba |
|
 |
Buildero Master


Registrado: 23 Dic 2003Mensajes: 523Ubicación: Puebla, México
|
Publicado: Mie 27 Abr, 2005 3:41 pm Asunto: |
|
|
No es mala la idea, pero la mejor forma de hacerlo es usando transacciones.
Inicias una tranasaccion antes de bloquear uno o 1000 tuplas y si existe algun problema o se reinicia tu PC, el estado de tus tuplas será el mismo que tenian antes de iniciar la transaccion. Si por el contrario todo va bien finalizas la transaccion y tus datos serán consistentes.
Saludos. _________________ Quien hace una pregunta teme parecer un ignorante durante cinco minutos, quien no pregunta se mantiene ignorante toda la vida. |
|
| Volver arriba |
|
 |
Fernando Diaz Master


Registrado: 18 Jul 2004Mensajes: 273Ubicación: Talavera de la Reina (Toledo)
|
Publicado: Mie 27 Abr, 2005 9:07 pm Asunto: |
|
|
Muchas gracias, no se me habia ocurrido  _________________ Los problemas mas dificiles tienen las soluciones mas sencillas
 |
|
| Volver arriba |
|
 |
Fernando Diaz Master


Registrado: 18 Jul 2004Mensajes: 273Ubicación: Talavera de la Reina (Toledo)
|
Publicado: Jue 28 Abr, 2005 10:55 am Asunto: |
|
|
hay un problema, si no haces el commit cuando bloqueas el registro, en realidad no esta bloqueado.... otros usuarios no lo ven como bloqueado... y si haces el commit... pues el mismo problema que el anterior..
mi solucion: poner una utilidad de desbloquear registros que se inicie si no se cierra bien la aplicacion _________________ Los problemas mas dificiles tienen las soluciones mas sencillas
 |
|
| Volver arriba |
|
 |
XyVy Master


Registrado: 25 Ago 2002Mensajes: 557Ubicación: Murcia (España)
|
Publicado: Jue 28 Abr, 2005 1:08 pm Asunto: |
|
|
En Firebird 1.5 si se puede bloquear una tupla concreta, pero realmente es un bloqueo pesimista y no deseable, lo mejor como te han aconsejado es el uso de transacciones, de todos modos si usas Firebird podrías hacer esto, aunque no se aconseja del todo su uso... mirate la sentencia SELECT, verás que puedes añadir al final un WITH LOCK.
Yo nunca la he utilizado y como digo, y te han dicho, lo mejor es introducir transacciones, que garantizen un acceso correcto y concurrente a los datos que se estimen oportunos, lo de los bloqueos explicitos es algo ya del pasado y que conviene evitar en la medida de lo posible...
Ciao _________________ OJO!! Ya tenemos subforo de Bases de Datos!!
Gracias a los admins. |
|
| Volver arriba |
|
 |
|