14

Click here to load reader

Diferencia Entre Trigger y Stored Procedure

Embed Size (px)

DESCRIPTION

Diferencia entre Triggers y Stored Procedures

Citation preview

  • Instituto Tecnologico de Las Americas

    TEMA:Diferencia entre trigger y stored procedure.MATERIA:Base de Datos AvanzadaDOCENTE:Ana Quintana PrezEXPOSITOR:Gregory Hidalgo

  • Trigger.

    Stored Procedure.

    Diferencias entre Trigger y Stored Procedure.

    Ejemplos.

  • Trigger (Disparador)

    En Base de datos , es unprocedimiento que se ejecutacuando se cumple una condicin establecida al realizar una operacin de insercin (INSERT),actualizacin (UPDATE) o borrado (DELETE).

  • Usos de los Trigger:Para mejorar la administracin de las Base de Datos.Prevencin de errores de datos.Sincronizacin de las tablas.Modificacin de los datos en las vistas de la base de datos.Tipos de Trigger:Row Triggers : son aquellas que se ejecutaran n-veces si se llama n-veces desde la tabla asociada al triggerStatement Triggers : son aquellos que sin importar la cantidad de veces que se cumpla con la condicin, su ejecucin es nica.

  • Estructura bsica de un Trigger:

    Llamada de activacin.

    Restriccin.

    Accin a ejecutar

  • Es un programa, fragmento de cdigo o como su nombre lo indica un procedimiento, el cual es almacenado fsicamente en una base de datos.

  • Usos de los Stored Procedure:Son utilizados para realizar consultas SQL sobre los objetos del banco de datos de una manera abstracta.

    Agrupar en forma exclusiva parte de algo especfico que se desee realizar .

    Validacin de datos, integrados dentro de la estructura del banco de datos.

  • Usos de los Stored Procedure:Encapsulacin de un API para un proceso complejo o grande que podra requerir la ejecucin de varias consultas SQL.

    Para el control de gestin de operaciones.

    Para ejecutar procedimientos almacenados dentro de una transaccin de tal manera que las transacciones sean efectivamente transparentes para ellos.

  • Diferencias entre Trigger y Stored Procedure

    La principal diferencia es que los Triggers en realidad son Stored procedure.La velocidad en reponder a las peticiones de usuarios es mayor en los Stored Procedure que en los Trigger.Los trigger son pequeos fragmentos de codigo y los stored procedure pueden encapsular procesos grandes y complejos.

  • Ejemplo de Trigger en MySQL

    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

  • Ejemplo de Trigger en PostgresQL

    CREATE OR REPLACE FUNCTION actualizar() RETURNS TRIGGER AS $ejemplo$ BEGIN NEW.nombre := NEW.nombres || ' ' || NEW.apellidos ; RETURN NEW; END;$ejemplo$ LANGUAGE plpgsql;CREATE TRIGGER ejemploBEFORE INSERT OR UPDATE ON 'tabla' FOR EACH ROW EXECUTE PROCEDURE actualizar();

  • Ejemplo de stored procedure en MySQL

    DELIMITER | CREATE PROCEDURE autos(IN velocidad int,IN marca varchar(50))BEGINIF velocidad < 120 thenINSERT INTO familiares VALUES(velocidad,marca);ELSEINSERT INTO deportivos VALUES(velocidad,marca);END IF;END;|