Creacion y administracion de triggers

Solo disponible en BuenasTareas
  • Páginas : 10 (2435 palabras )
  • Descarga(s) : 0
  • Publicado : 30 de mayo de 2011
Leer documento completo
Vista previa del texto
CREACION Y ADMINISTRACION DE ACTIVADORES (TRIGGER)

1. COMPRENSION DE LOS ACTIVADORES DE SQL SERVER
==========================================================

Un activador es un tipo especial de procedimiento almacenado que será ejecutado por SQL Server automáticamente cuando SQL Server aplique una cierta modificación de tablas, o bien cuando una cierta tabla se vea alcanzada por ella. Laaplicación más común de un activador consiste en poner reglas de negocios a la base de datos. Los activadores poseen un impacto muy reducido sobre el rendimiento del servidor, y por lo tanto suelen utilizarse para mejorar aquellas aplicaciones que deban de efectuar una gran cantidad de operaciones en cascada aplicadas a tablas y filas.

2. CREACION DE ACTIVADORES==========================================================

La creación de un activador es bastante parecida a la declaración de un procedimiento almacenado, y posee
una sintaxis similar, que es como sigue:

CREATE TRIGGER [propietario.]nombre_activador
ON [propietario.]nombre_tabla
FOR {INSERT, UPDATE, DELETE}
[WITH ENCRYPTION]
AS sentencias_sql

Las opciones de la orden CREATE TRIGGER de Transact-SQL son:
nombre_activador Es el nombre del activador que debe de ajustarse a las convenciones estándar.

 INSERT, UPDATE, DELETE Se define el ámbito del activador mediante estas palabras reservadas. Esto determina las acciones que darán lugar a la ejecución del activador.

 WITH ENCRYPTION Esta opción se proporciona para aquellos desarrolladores que deseen evitar que los usuarios de su entorno sean capacesde leer el texto de un activador una vez que éste haya sido cargado en el servidor. Utilice la opción WITH ENCRYPTION con cuidado, porque si se perdiera el activador original, no será posible restaurar el texto codificado a partir de syscomments.

 Sentencias_sql Un activador puede contener cualquier número de sentencias SQL propias de Transact-SQL, siempre y cuando estén encerradas entre unosdelimitadores BEGIN y END válidos.

3. EXAMEN DE LAS LIMITACIONES DE LOS ACTIVADORES
==========================================================

SQL Server impone algunas limitaciones sobre los tipos de sentencias de SQL que se pueden ejecutar mientras se están Efectuando las acciones de un activador. La mayor parte de estas limitaciones se producen porque SQL no se puede retractar (o biense encuentra dentro de una transacción), lo cual quizás tenga que ocurrir si las sentencias UPDATE, INSERT o DELETE que dieron lugar a la ejecución del activador en primer lugar se deshacen también.
Lo que sigue es una lista de sentencias de Transact-SQL que no están permitidas en el cuerpo del texto de un activador. SQL Server rechazará la compilación y almacenamiento de un activador que contengaestas sentencias:

Todas las sentencias de creación de bases de datos y objetos: CREATE DATABASE, TABLE, INDEX, PROCEDURE, DEFAULT, RULE, TRIGGER y VIEW

 Todas las sentencias DROP
 Todas las sentencias de modificación de objetos de bases de datos: ALTER TABLE y ALTER DATABASE
 TRUNCATE TABLE

Los activador DELETE no se ejecutarán cuando se inicie una operación TRUNCATE en una tabla.Como quiera que la operación TRUNCATE no se registra, hay posibilidad de que se ejecute el activador. Sin embargo, el permiso para llevar a cabo un TRUNCATE queda limitado al poseedor de la tabla y al administrador del sistema, además, no se puede transferir.

 Permisos de objetos: GRANT y REVOKE
 UPDATE STATISTICS
 RECONFIGURE
 Operaciones de carga de la base de datos: LOAD DATABASE yLOAD TRANSACTION
 Todas las sentencias de modificación de un disco físico: DISK...
 La creación de tablas temporales: Tanto implícito mediante CREATE TABLE como explícito mediante SELECT INTO.

Adicionalmente, es preciso entender claramente las siguientes limitaciones.

 Los activadores no se pueden crear dentro de una vista, sino solo en la tabla de base o en las tablas en las cuales se...
tracking img