SQL Server - Trigger y procedures paralelos

   
Vista:

Trigger y procedures paralelos

Publicado por Bernat (4 intervenciones) el 17/07/2009 20:16:09
Hola, buenas tardes,

Estoy realizando una aplicación, en la cual tengo un dispositivo que va haciendo inserts en una tabla, tengo definido un trigger que llama a una función cada vez que el dispositivo hace un insert, mi cuestión es la siguiente.

Supongamos que este dispositivo hace dos inserts al mismo tiempo, entonces podría haber algún error??, ya que estaría llamando simultáneamente dos veces al trigger y ejecutándose también el procedure. O hay alguna cola que se va llenando de peticiones de sql, o algo por el estilo?????

Muchas gracias.
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
Imágen de perfil de Isaias

RE:Trigger y procedures paralelos

Publicado por Isaias (3180 intervenciones) el 17/07/2009 22:43:12
Un trigger se dispara cuando hay inserccion y si esta es masiva, solo se dispara 1 vez, por ejemplo

INSERT INTO CLIENTE (Id, Nombre, Saldo) VALUES (1, 'Ramon Ramirez', 200)

Se dispara una vez.

INSERT INTO CLIENTE
SELECT * FROM RespaldoCliente

Si se insertan 1000 registros, se dispara 1 vez y la tabla INSERTED, tendra 1000 registros.

Espero haberme explicado.

¿Que hace tu funcion?
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:Trigger y procedures paralelos

Publicado por Bernat (4 intervenciones) el 18/07/2009 00:22:40
ok, gracias

entonces desde el trigger solo tengo que hacer que llame a la funcion??

Como mucho el dispositivo que me llena la tabla, me mandara dos registros simultaneos, entonces los tendre los dos en la tabla Inserted, siempre y cuando sea lo suficientemente rapido, sino me generara una tabla inserted con un registro, tendre que hacer pruebas. Si tubiese dos registros, como recorro la tabla Inserted??Esta tabla virtual cuando se borra=??

La funcion lo que hace es comprovar los valores que entra el dispositivo(que se guardan en una tabla X) y depende de algunos de estos, actualizo un registro o lo inserto en otra tabla(la actualizacion y inserccion en otra tabla Y)
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
Imágen de perfil de Isaias

RE:Trigger y procedures paralelos

Publicado por Isaias (3180 intervenciones) el 20/07/2009 18:28:19
"recorrer los registros", no, SQL Server es pesimo para recorrer "uno por uno" registros de tablas, es un excelente motor para procesar garndes cantidades de datos.

Dependera de lo que quieras hacer, si vas a insertar los datos en otra tabla, entonces, dentro del trigger tendrias algo como.

INSERT INTO TuOtraTabla
SELECT * FROM INSERTED

¿Cuando se borra?, Cuando el evento que la creo termina (INSERT, DELETE, UPDATE).

Saludos
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