Scripts en Triggers

09/08/2007 - 01:07 por Juan Carlos Mendoza | Informe spam
Hola,

Revisando codigos en los scripts sql de los desarrolladores, veo que
algunos triggers de ellos, tienen tantas sentencias que son dignas de
estar un stored procedure, me viene a la mente la siguiente pregunta,
la cual les traslado:

un trigger se "comporta" igual que un stored procedure?, es decir,
tiene ya su plan precompilado, siendo la unica diferencia que el
trigger se ejecutara como reaccion ante un evento sobre una tabla y un
stored procedure se ejecutara al ser invocado (EXEC).

Gracias,

Juan Carlos Mendoza

Preguntas similare

Leer las respuestas

#1 principiante
09/08/2007 - 04:07 | Informe spam
un trigger se "comporta" igual que un stored procedure?, es decir,
tiene ya su plan precompilado,



Un trigger también es un store procedure (un tipo especial de).

siendo la unica diferencia que el
trigger se ejecutara como reaccion ante un evento sobre una tabla y un
stored procedure se ejecutara al ser invocado (EXEC).




Claro que es así. No lo puedes entender mejor



José TH
Respuesta Responder a este mensaje
#2 Maxi
09/08/2007 - 14:43 | Informe spam
Hola,

Un trigger también es un store procedure (un tipo especial de).



Esto no es cierto, un trigger es un triggr y un Store es un Store, no se
comportan igual ni a palos, un trigger no puede retornar valores, un trigger
esta dentro de una transaccion por defecto, un trigger tiene tablas
virtuales que un store no tiene (excepto en 2005 que se puede usar output),
hay muchas diferencias entre un trigger y un Store, otra es que un trigger
no soporta parametros de entrada y un Store si, entonces no se puede decir
que un trigger tambien es un Store


Salu2

Microsoft MVP SQL Server
Culminis Speaker

"principiante" escribió en el mensaje
news:
un trigger se "comporta" igual que un stored procedure?, es decir,
tiene ya su plan precompilado,



Un trigger también es un store procedure (un tipo especial de).

siendo la unica diferencia que el
trigger se ejecutara como reaccion ante un evento sobre una tabla y un
stored procedure se ejecutara al ser invocado (EXEC).




Claro que es así. No lo puedes entender mejor



José TH

Respuesta Responder a este mensaje
#3 principiante
09/08/2007 - 15:33 | Informe spam
Usted como que tiene problemas para entender el español, o tal vez sea que
lee muy rápido.

Yo escribi: "Un trigger también es un store procedure (un tipo especial
de)."
Dentro del contexto de la pregunta que hizo el compañero.

Ahora lea esto, tomado de los libros en linea, en la ayuda del comando
"CREATE TRIGGER", si es que lo entiende:

"Crea un desencadenador, que es una clase especial de procedimiento
almacenado que se ejecuta automáticamente cuando un usuario intenta la
instrucción especificada de modificación de datos en la tabla indicada.
Microsoft® SQL ServerT permite crear varios desencadenadores para cualquier
instrucción INSERT, UPDATE o DELETE."

No es entonces un trigger también un "tipo especial" o "clase especial" de
procedimiento almacenado???

Lea mejor, por favor.

José TH



"Maxi" escribió en el mensaje
news:
Hola,

Un trigger también es un store procedure (un tipo especial de).



Esto no es cierto, un trigger es un triggr y un Store es un Store, no se
comportan igual ni a palos, un trigger no puede retornar valores, un
trigger esta dentro de una transaccion por defecto, un trigger tiene
tablas virtuales que un store no tiene (excepto en 2005 que se puede usar
output), hay muchas diferencias entre un trigger y un Store, otra es que
un trigger no soporta parametros de entrada y un Store si, entonces no se
puede decir que un trigger tambien es un Store


Salu2

Microsoft MVP SQL Server
Culminis Speaker

"principiante" escribió en el mensaje
news:
un trigger se "comporta" igual que un stored procedure?, es decir,
tiene ya su plan precompilado,



Un trigger también es un store procedure (un tipo especial de).

siendo la unica diferencia que el
trigger se ejecutara como reaccion ante un evento sobre una tabla y un
stored procedure se ejecutara al ser invocado (EXEC).




Claro que es así. No lo puedes entender mejor



José TH





Respuesta Responder a este mensaje
#4 Maxi
09/08/2007 - 15:48 | Informe spam
Bueno bueno, no creo que sea necesario ofender no? el español lo interpreto
bien y no leo tan rapido.
Tampoco coincido que un trigger sea un procedimiento almacenado especial,
eso confunde, un trigger no es un procedimiento almacenado, ahora que dentro
de un trigger exista codigo TSQL no lo habilita a ser un tipo especial de
procedimiento almacenado, con ese criterio las funciones tambien son un tipo
de procedimiento almacenado especial, asi como entre un trigger y Store
comparten cosas hay otras que no y por mas que los BOL digan que es un Store
procedure especial yo eso no lo comparto, si se comportan de forma
totalmente distinta no son parecidos entonces mas que en que llevan codigo
:-)
Pero bueno, con usted y siempre agrediendo en sus respuestas (ya vi varias
de las suyas asi a otra gente) no tiene mucho sentido seguir la charla con
usted


Salu2

Microsoft MVP SQL Server
Culminis Speaker

"principiante" escribió en el mensaje
news:%23m5$
Usted como que tiene problemas para entender el español, o tal vez sea que
lee muy rápido.

Yo escribi: "Un trigger también es un store procedure (un tipo especial
de)."
Dentro del contexto de la pregunta que hizo el compañero.

Ahora lea esto, tomado de los libros en linea, en la ayuda del comando
"CREATE TRIGGER", si es que lo entiende:

"Crea un desencadenador, que es una clase especial de procedimiento
almacenado que se ejecuta automáticamente cuando un usuario intenta la
instrucción especificada de modificación de datos en la tabla indicada.
Microsoft® SQL ServerT permite crear varios desencadenadores para
cualquier instrucción INSERT, UPDATE o DELETE."

No es entonces un trigger también un "tipo especial" o "clase especial" de
procedimiento almacenado???

Lea mejor, por favor.

José TH



"Maxi" escribió en el mensaje
news:
Hola,

Un trigger también es un store procedure (un tipo especial de).



Esto no es cierto, un trigger es un triggr y un Store es un Store, no se
comportan igual ni a palos, un trigger no puede retornar valores, un
trigger esta dentro de una transaccion por defecto, un trigger tiene
tablas virtuales que un store no tiene (excepto en 2005 que se puede usar
output), hay muchas diferencias entre un trigger y un Store, otra es que
un trigger no soporta parametros de entrada y un Store si, entonces no se
puede decir que un trigger tambien es un Store


Salu2

Microsoft MVP SQL Server
Culminis Speaker

"principiante" escribió en el mensaje
news:
un trigger se "comporta" igual que un stored procedure?, es decir,
tiene ya su plan precompilado,



Un trigger también es un store procedure (un tipo especial de).

siendo la unica diferencia que el
trigger se ejecutara como reaccion ante un evento sobre una tabla y un
stored procedure se ejecutara al ser invocado (EXEC).




Claro que es así. No lo puedes entender mejor



José TH









Respuesta Responder a este mensaje
#5 Maxi
09/08/2007 - 16:01 | Informe spam
Hola Juan, hay varias diferencias entre un trigger y un Store, no es
solamente que uno se ejecuta con Exec y el otro "Automatico"
Ahora bien, poner la logica de negocios dentro de un trigger o fuera de el
tiene sus pros y contras

Dentro

Pro:

-Si insertar datos de cualquier aplicacion o usas DTS por ejemplo, la logica
se ejecutara siempre, si lo tenes en Store debes pasar por ellos

Contra:

-El trigger esta dentro de una transaccion, lo cual poner logica dentro de
una transaccion es una muy mala idea, las transacciones deben durar lo
minimo e indispensable para no generar bloqueos grandes y mucho menos
Deadlock

Yo por lo general no recomiendo poner logica dentro de un trigger, eso debe
ser liviano por lo que comente antes, entonces es preferible separarla a un
Store o bien fuera del SQLServer.


Salu2

Microsoft MVP SQL Server
Culminis Speaker

"Juan Carlos Mendoza" escribió en el mensaje
news:
Hola,

Revisando codigos en los scripts sql de los desarrolladores, veo que
algunos triggers de ellos, tienen tantas sentencias que son dignas de
estar un stored procedure, me viene a la mente la siguiente pregunta,
la cual les traslado:

un trigger se "comporta" igual que un stored procedure?, es decir,
tiene ya su plan precompilado, siendo la unica diferencia que el
trigger se ejecutara como reaccion ante un evento sobre una tabla y un
stored procedure se ejecutara al ser invocado (EXEC).

Gracias,

Juan Carlos Mendoza

Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida