Analista De Sistemas

Páginas: 17 (4092 palabras) Publicado: 18 de noviembre de 2012
TRIGGERS Y PROCEDIMIENTO ALMACENADO
TRIGGER
Un trigger (o disparador) en una Base de datos , es un procedimiento que se ejecuta cuando se cumple una
condición establecida al realizar una operación. Dependiendo de la base de datos, los triggers pueden ser de
inserción (INSERT), actualización (UPDATE) o borrado (DELETE). Algunas bases de datos pueden ejecutar
triggers al crear, borrar o editarusuarios, tablas, bases de datos u otros objetos.
Contenido
Usos
Son usados para mejorar la administración de la Base de datos, sin necesidad de contar con que el usuario
ejecute la sentencia de SQL.
Además, pueden generar valores de columnas, previene errores de datos, sincroniza tablas, modifica valores
de una vista, etc.
Permite implementar programas basados en paradigma lógico(sistemas expertos, deducción).
[editar]Componentes principales
La estructura básica de un trigger es:
"
Llamada de activación: es la sentencia que permite "disparar" el código a ejecutar.
"
Restricción: es la condición necesaria para realizar el código. Esta restricción puede ser de tipo
condicional o de tipo nulidad.
"
Acción a ejecutar: es la secuencia de instrucciones a ejecutar una vez quese han cumplido las
condiciones iniciales.
[editar]Tipos
Existen dos tipos de disparadores que se clasifican según la cantidad de ejecuciones a realizar:
"
Row Triggers (o Disparadores de fila): son aquellas que se ejecutaran n -veces si se llama n-veces
desde la tabla asociada al trigger
"
Statement Triggers (o Disparadores de secuencia): son aquellos que sin importar la cantidad de
vecesque se cumpla con la condición, su ejecución es única.
Pueden ser de sesión y almacenados; pero no son de fiar[cita requerida].
[editar]Efectos y características
"
No aceptan parámetros o argumentos (pero podrían almacenar los datos afectados en tablas
temporales)
"
No pueden ejecutar las operaciones COMMIT o ROLLBACK por que estas son parte de la sentencia
SQL del disparador (únicamentea través de transacciones autónomas)
"
Pueden causar errores de mutaciones en las tablas, si se han escrito de manera deficiente.
[editar]Ejemplo
Un sencillo ejemplo (para SQL Server) sería crear un Trigger para insertar un pedido de algún producto
cuando la cantidad de éste, en nuestro almacén, sea inferior a un valor dado.
BEFORE UPDATE ON tabla_almacen
FOR ALL records
IF :NEW.producto <100 THEN
INSERT INTO tabla_pedidos(producto) VALUES ('1000');
END IF;
SELECT DBO.POLVE.TEST
END
Disparadores en MySQL
Los disparadores son soportados en MySQL a partir de la versión 5.0.2. Algunos de los soportes existentes
son los disparadores para las sentencias INSERT, UPDATE y DELETE
El estándar SQL:2003 requiere que los disparadores den a los programadores acceso a las variables deun
registro utilizando una sintaxis como REFERENCING NEW AS n. Por ejemplo, si un disparador está
monitoreando los cambios en la columna salario, podría escribirse un disparador como:
CREATE TRIGGER ver_salario
BEFORE UPDATE ON empleados
REFERENCING NEW ROW AS n, OLD ROW AS o
FOR EACH ROW
IF n.salario o.salario THEN
END IF;
Como en MySQL las sentencias se ejecutan luego de escribir elsigno punto y coma (;), cabe destacar que
para crear un disparador en MySQL, antes se escribe la sentencia DELIMITER seguida de un carácter tal
como |, la cual asigna la función del punto y coma (;) a otro carácter permitiendo que el disparador sea escrito
usando los punto y comas sin que se ejecute mientras se escribe; después de escrito el disparador se escribe
nuevamente la sentencia DELIMITER; para asignar al punto y coma su función habi tual.
Disparadores en PostgresQL

Triggers
En español se llaman o están traducidos por desencadenador son lo mismo que los Stored Procedures pero
éstos se ejecutan desantendidamente y automáticamente cuando un usuario realiza una acción con la tabla
de una base de datos que lleve asociado este trigger. Se pueden crear triggers para las...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Analista De Sistemas
  • Analista En Sistemas
  • Analista de Sistemas
  • analista de sistemas
  • Analista de Sistemas
  • Analista de sistemas
  • Analista De Sistemas
  • Analista De Sistemas

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS