SQL Server - Validación con Triggers

 
Vista:

Validación con Triggers

Publicado por Pablo (12 intervenciones) el 10/04/2008 17:50:41
Buenas Colegas del foro...Mi situación es la siguiente, frecuentemente hago triggers para validar ciertas cosas en mi sistema, pero en todas las situaciones que estos triggers son disparados en alguna terminal en particular, el mensaje que sale en pantalla pone en espera a todas las demas terminales que estan usando el sistema en ese momento. Aún no manejo muy bien el SQL pero supongo que me falta alguna sentencia que evite que ocurra esta situación. Estaría enormemente agradecido que me pudieran ayudar. Exitos!!!

Saludos desde Paraguay
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:Validación con Triggers

Publicado por Isaias (3308 intervenciones) el 10/04/2008 21:04:29
Pablo

Debes saber que SQL Server es una base de datos 100% TRANSACCIONAL y por ende, cuando se hace hasta un simple SELECT, si no se le indica, se genera un BLOQUE de pagina.

¿Podrias decirnos que estas haciendo en tu trigger?
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:Validación con Triggers

Publicado por Pablo (12 intervenciones) el 11/04/2008 02:15:21
Por ejemplo tengo 2tablas, una de ventas y otra de credito, y cuando el operador intenta borrar una venta a credito, osea, si existe un credito cargado por esa venta yo le aviso con un trigger que existe un credito para esa venta y que si desea eliminar la evnta elimine primero el credito, y en el interin que ese mensaje queda en pantalla se me bloquean los demas usuarios
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:Validación con Triggers

Publicado por Isaias (3308 intervenciones) el 11/04/2008 02:44:08
Insisto, debes leer un poco sobre INTERBLOQUEOS

-- Esto genera un BLOQUEO a nivel paginas
SELECT * FROM CLIENTE

-- Eso no genera bloqueo, aunque si podria genear lecturas invalidas
SELECT * FROM CLIENTE NOLOCK

Lo que tu tienes son INTERBLOQUEOS.

Para saber quien esta bloqueando, en Analizado de Consultas, ejecuta:

DBCC OPENTRAN

Esto te dara el numero de SPID que esta bloqueando, para saber que esta haciendo.

DBCC INPUTBUFFER (spid)

Espero haberme explicado.
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:Validación con Triggers

Publicado por Pablo (12 intervenciones) el 11/04/2008 16:05:34
Perfectamente Colega, voy a probar, muchas gracias!!!
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