Sei sulla pagina 1di 5

Segunda Tarea

Funciones vs Procedimientos Almacenados, Trigger en


mySQL

03/05/2016
UPSLP
Aurea Patricia Medrano Montalvo

Base de Datos
MTI Jorge Martin Mndez Leal
Segunda Tarea

Contenido
Procedimientos almacenados ............................................................................................................. 2
Sintaxis ............................................................................................................................................ 2
Funciones ............................................................................................................................................ 2
Sintaxis ............................................................................................................................................ 2
Beneficio de ambas ............................................................................................................................. 2
Diferencias........................................................................................................................................... 3
Trigger ................................................................................................................................................. 3
Sintaxis de CREATE TRIGGER ........................................................................................................... 4
Sintaxis de DROP TRIGGER .............................................................................................................. 4
Bibliografa .......................................................................................................................................... 4

Aurea Patricia Medrano Montalvo Pgina 1


Segunda Tarea

Procedimientos almacenados
Los procedimientos almacenados son un conjunto de instrucciones SQL ms una
serie de estructuras de control que nos permiten dotar de cierta lgica al
procedimiento. Estos procedimientos estn guardados en el servidor y pueden ser
accedidos a travs de llamadas.

Sintaxis
La sintaxis de un procedimiento almacenado es la siguiente:

1. CREATE PROCEDURE nombre (parmetro)


2. [caractersticas] definicin

Funciones
La diferencia entre una funcin y un procedimiento es que la funcin devuelve
valores. Estos valores pueden ser utilizados como argumentos para instrucciones
SQL, tal como lo hacemos normalmente con otras funciones como son, por
ejemplo, MAX () o COUNT ().

Sintaxis
La sintaxis de una funcin es la siguiente:

1. CREATE FUNCTION nombre (parmetro)


2. RETURNS tipo
3. [caractersticas] definicin

Beneficio de ambas
Las funciones de SQL Server definidas por el usuario y los procedimientos
almacenados ofrecen funcionalidades similares. Ambos nos permiten crear
paquetes de sentencias SQL que son almacenadas en un servidor para futuro uso.
Esto nos ofrece el gran beneficio de la eficiencia ya que podemos ahorrar tiempo
programando a travs de lo siguiente:

Reusando cdigo de un programa en otro, recortando el tiempo de


desarrollo de un programa.

Aurea Patricia Medrano Montalvo Pgina 2


Segunda Tarea

Centralizar el mantenimiento, permitiendo crear cambios en la lgica de


negocio en un solo lugar que automticamente afecta a todas las
aplicaciones dependientes.

Diferencias
Los procedimientos almacenados son llamados independientemente,
usando el comando EXEC, mientras que las funciones son llamadas dentro
de otra sentencia SQL.
Los procedimientos almacenados permiten mejorar la seguridad de la
aplicacin concediendo permiso a los usuarios para que utilicen estos
procedimientos, en lugar de permisos para acceder a las tablas
dependientes.
Las funciones deben siempre devolver un valor (tanto un valor escalar
como una tabla). Los procedimientos pueden retornar un valor escalar, un
valor de tabla o simplemente nada.

Trigger
Un Trigger o disparador en MySQL es un programa almacenado (stored program),
creado para ejecutarse automticamente cuando ocurra un evento en
nuestra base de datos. Dichos eventos son generados por los
comandos INSERT, UPDATE y DELETE, los cuales hacen parte del DML (Data
Modeling Languaje) de SQL.

Esto significa que invocaremos nuestros Triggers para ejecutar un bloque de


instrucciones que proteja, restrinja o preparen la informacin de nuestras tablas, al
momento de manipular nuestra informacin. Para crear triggers en MySQL
necesitas los privilegios SUPER Y TRIGGER.

Aurea Patricia Medrano Montalvo Pgina 3


Segunda Tarea

Sintaxis de CREATE TRIGGER

CREATE TRIGGER nombre_disp momento_disp evento_disp


ON nombre_tabla FOR EACH ROW sentencia_disp

Dnde:

nombre_disp: es el nombre del disparador.


nombre_tabla: es el nombre de la tabla a la cual el disparador est
asociado.
momento_disp: es el momento en que el disparador entra en accin. Puede
ser BEFORE (antes) o AFTER (despus), para indicar que el disparador se
ejecute antes o despus que la sentencia que lo activa.
evento_disp: indica la clase de sentencia que activa al disparador. Puede
ser INSERT, UPDATE, o DELETE.
sentencia_disp: es la sentencia que se ejecuta cuando se activa el
disparador.

Sintaxis de DROP TRIGGER


DROP TRIGGER [nombre_esquema.]nombre_disp

Elimina un disparador. El nombre de esquema es opcional. Si el esquema se


omite, el disparador se elimina en el esquema actual.

Bibliografa
Federico Seco. (2012). Procedimientos Almacenados Vs. Funciones Definidas por el Usuario en SQL
Server. 3 de mayo del 2016, de Indefinido Sitio web:
http://www.ingenieriadeprogreso.com/2012/09/procedimientos-almacenados-vs-funciones.html

http://manuales.guebs.com/mysql-5.0/triggers.html

Aurea Patricia Medrano Montalvo Pgina 4

Potrebbero piacerti anche