Bloquear registro en SQL

01/11/2009 - 12:26 por hector | Informe spam
Hola grupo, tengo la necesidad de bloquear un registro, el bloqueo sera por
un tiempo determinado por el usuario desde que capture el registro, hatsa
que que de aceptar.
Trato de utilizar:
msg=SQLEXEC(gnConnHandle, "select * from mitabla with(HOLDLOCK, ROWLOCK)
where id_docum=?mserial","ctem")
No me funciona, el codigo es Transac_SQL con Fox, gracias por su ayuda.

Preguntas similare

Leer las respuestas

#1 Carlos Sacristan
02/11/2009 - 10:25 | Informe spam
¿Tienes un índice sobre el campo id_docum?

En todo caso, no es buena idea mantener el bloqueo "hasta que el usuario de
aceptar". Imagínate que se va a tomar un café, o se olvida de darle a
aceptar, o bloquea la pantalla porque tiene que ir a hacer otra cosa...

"Caminar sobre el agua y desarrollar software a partir de unas
especificaciones es fácil, si ambas están congeladas."
Edward V. Berard, ingeniero informático


"hector" wrote in message
news:
Mostrar la cita
#2 hector
02/11/2009 - 11:30 | Informe spam
Gracias por tu respuesta, efectivamente se que existe ese riesgo y ya
explique a mi cliente.
Lo que ellos quieren es por ejemplo en un documento cabecera y detalle,
blockear la cabecera cuando se quiera modificar.
El comando que describi se deja ejecutar en dos seciones distintas, la idea
es que el que ingresa segundo no pueda ejecutarlo y enviarle algun mensaje.
Con las dos seciones activas, cuando intento hacer el UPDATE desde el que
ingreso segundo se queda colgado hasta que el primero salga, para finalmente
tomar el valor del que ingreso segundo y eso es lo que no quiere el cliente.

HQD


"Carlos Sacristan" escribió en el mensaje
news:
Mostrar la cita
#3 Carlos Sacristan
02/11/2009 - 11:57 | Informe spam
Sigo pensando que es muy mala práctica lo que estás intentando hacer.
Existen soluciones alternativas que permiten la concurrencia en la base de
datos, que es uno de los objetivos a conseguir cuando se trabaja con ellas.

Te recomiendo la lectura de un hilo en este mismo grupo de primeros de año
que trata justamente un problema muy similar al tuyo:
http://groups.google.es/group/micro...7c17726751
En especial, esta respuesta de Jesús López (SQL Ranger)
http://groups.google.es/group/micro...3aa2f65b6,
seguro que te sirve de gran ayuda.


"Caminar sobre el agua y desarrollar software a partir de unas
especificaciones es fácil, si ambas están congeladas."
Edward V. Berard, ingeniero informático


"hector" wrote in message
news:
Mostrar la cita
#4 hquinones
02/11/2009 - 13:45 | Informe spam
Gracias nuevamente, leere con detenimiento y luego comento.

HQD

"Carlos Sacristan" escribió en el mensaje
news:%
Mostrar la cita
#5 Ricardo Passians
02/11/2009 - 23:08 | Informe spam
Esa idea está muy mal para una aplicación.

Ricardo Passians

"hector" escribió en el mensaje
news:
Mostrar la cita
Ads by Google
Search Busqueda sugerida