Mostrando entradas con la etiqueta trigger. Mostrar todas las entradas
Mostrando entradas con la etiqueta trigger. Mostrar todas las entradas

sábado, 28 de mayo de 2016

Triggers (desencadenadores) en SQL Server (2ª Parte)


Aquí la primera parte. Triggers (desencadenadores) en SQL Server  (1ª Parte)

Obtención de información de los triggers


Los triggers igual que el resto de objetos de la base de datos también aparecen en la tabla sys.sysobjets, con el identificador TR en la columna xtype, por lo que
Si deseamos saber cuántos triggers hay en una base de datos, basta hacer una consulta filtrando con TR en la columna xtype. Esto mismo es válido para el resto de objetos como procedimientos almacenados, tablas, vista, etc sólo que en el caso de los procedimientos en vez de TR hay que filtrar por P.
Para obtener la definición de los triggers definidos  podemos consultar  el campo text de la tabla sys.syscomments donde viene la definición de todos los objetos de la base de datos. En el caso de que no queremos que la definicion, del trigger sea consultada, también podemos añadir la cláusula WITH ENCRIPTION en la creación del trigger. También podemos obtener información del trigger ejecutando el procedimiento almacenado sp_help 'tr_nombre_Trigger'

Triggers en SQL Server

Validar actualizaciones de tablas

Las principales utilidades de los triggers consisten en controlar que las operaciones de actualización que se llevan a cabo sobre las tablas sean coherentes pues  centralizan las operaciones  de validación en la base de datos al realizar los procesos de añadir o eliminar datos.

sábado, 14 de mayo de 2016

Triggers (Desencadenadores) en Sql Server

Aspectos básicos

Los triggers son un tipo especial de procedimientos almacenados que se ejecutan automáticamente al producirse una modificación de una tabla. Los triggers poseen la utilidad de integrar en la base de datos decisiones de negocio asociadas a los propios datos, sin que sea necesario programar procedimientos externos. Permiten mantener coherencia semántica en la base de datos.

Triggers (Desencadenadores) en Sql Server


La sentencia SQL para crear triggers es CREATE TRIGGERPara crear un trigger es necesario especificar la tabla cuyas modificaciones activarán su ejecución y las acciones que se llevarán a cabo en tal caso, en forma de sentencias SQL. Los triggers están vinculados de manera inseparable a la tabla que provoca su ejecución, de tal forma que sólo el propietario de una tabla puede definir un trigger asociado a esta misma. Solo pueden crearse triggers asociados a tablas de la base de datos actualmente seleccionada.
Según el tipo de evento que los desencadena se clasifican en:

  Desencadenadores DML
  Desencadenadores DDL
  Desencadenadores LOGON

Los desencadenadores DML se ejecutan cuando un usuario intenta modificar datos mediante un evento de lenguaje de manipulación de datos (DML). Los eventos DML son instrucciones INSERT, UPDATE o DELETE de una tabla o vista.
Los desencadenadores DDL se ejecutan en respuesta a una variedad de eventos de lenguaje de definición de datos (DDL). Estos eventos corresponden principalmente a instrucciones CREATE, ALTER y DROP de SQL, y a determinados procedimientos almacenados del sistema que ejecutan operaciones de tipo DDL.
Los desencadenadores LOGON se activan en respuesta al evento LOGON que se genera cuando se establece la sesión de un usuario.
Este estudio se limita a los desencadenadores DML.