SQL - Bloquear el registro de un Select

 
Vista:

Bloquear el registro de un Select

Publicado por Eduardo Rdz (3 intervenciones) el 15/10/2008 19:52:39
Hola soy nuevo en SQL y actualmente estoy batallando porque no encuentro la forma de bloquear un registro de una tabla .

por ejemplo.
el usuario 1 entra a la pantalla de modificacion de Orden de Compra y mientras esta en la pantalla otro usuario 2 quiere entrar pero necesito que le avise que se esta modificando por otro usuario que se espere o bien solo lo deje ver los datos sin derechos a modificarlos.

la bd esta en SQL SERVER 2000 .

Gracias de antemano y espero alguien se interese llevo 5 dias buscando en internet y no encuntro nada.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Bloquear el registro de un Select

Publicado por jose camilo (20 intervenciones) el 16/10/2008 01:27:25
tendras k tener algun campo k le indique cuales registros estan blokeado o no
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Bloquear el registro de un Select

Publicado por Eduardo Rdz (3 intervenciones) el 16/10/2008 14:35:11
Hola muchas gracias por tu interes y bueno no las tablas no tienen campo que indique que este bloqueado el registro y no tengo autorizacion para modificar tablas , tambien habia pensado en crear una y que guardara la llave del Documento que se esta modificando y un status pero mi jefe se reusa a hacer eso lo deja como ultima opcion .

He encontrado una instruccion en SQL se llama UPDLOCK se utiliza con un begin trans y un commit y si me bloquea el registro pero necesito saber antes de hacer esta intruccion si el registro ya esta bloqueado para mandar el mensaje al usuario y decirle que no puede modificarlo porque otro usuario lo esta haciendo .

Si alguien sabe de eso porfavor ayuendme se los agradeceria mucho la verdad esto del bloqueo de registro me esta volviendo loco :S .
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Bloquear el registro de un Select

Publicado por jose camilo (20 intervenciones) el 17/10/2008 14:34:48
http://technet.microsoft.com/es-es/library/ms187373.aspx

esta es parte de la explicacion k aparece aqui

SERIALIZABLE
Equivalente a HOLDLOCK. Hace que los bloqueos compartidos sean más restrictivos, manteniéndolos hasta la finalización de la transacción, en lugar de liberarlos cuando la tabla o página de datos deja de ser necesaria, se haya completado la transacción o no. El recorrido se hace con la misma semántica que una transacción que se ejecuta con el nivel de aislamiento SERIALIZABLE. Para obtener más información sobre los niveles de aislamiento, vea SET TRANSACTION ISOLATION LEVEL (Transact-SQL).

espero te ayude
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Bloquear el registro de un Select

Publicado por Eduardo Rdz (3 intervenciones) el 17/10/2008 15:15:43
OK muchas gracias creeme ya me lei todo eso del SET TRANSACTION ISOLATION LEVER y lo de bloqueos compartidos y exclusivos y leyendo encontre la instruccion UPDLOCK que hace lo que quiero que es bloquear el registro y que solo se pueda ver en modo lectura pero ahora no se como hacerle para detectar antes de bloquearlo si ese registro ya esta bloqueado para poder poner una condicion si esta bloqueado mandar mensaje el registro se esta modificando y solo se puede acceder en modo lectura y sino bloquearlo y poder modificarlo.

mi pregunta es que instruccion en SQL me dice con un SELECT si los datos a consultar estan bloqueados.

he encontrado algo sobre uno store en SQL sp_who , sp_lock,sp_lock2 pero me arroja datos que no entiendo si alguien me podria explicar seria genial .

Gracias a todos los que se han interesado en mi caso la verdad esto que trato de hacer esta de locos !! algun genio en SQL que me pueda ayudar?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar