Top Banner
Functions, Stored Procedures, Triggers Funciones, Procedimientos Almacenados, Disparadores
21

Funciones, Stored Procedures, Triggers

Nov 30, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Funciones, Stored Procedures, Triggers

Functions, Stored Procedures, Triggers

Funciones, Procedimientos Almacenados, Disparadores

Page 2: Funciones, Stored Procedures, Triggers

Contenido

Que es una Function (Funcion). Que es un Stored Procedure

(Procedimiento Almacenado). Que es un Trigger (Disparador ). Implementar Functions. Implementar Stored Procedures. Implementar Triggers.

Page 3: Funciones, Stored Procedures, Triggers

Que es una Funcion.

Es una porcion encapsulada de codigo que puede ser reutilizada por diferentes programas.

Page 4: Funciones, Stored Procedures, Triggers

Que es un Stored Procedure.

Un Store Procedure es un elemento de base de datos reutilizable almacenado que realiza alguna operación en la base de datos. Un procedimiento almacenado contiene código SQL que puede, entre otras cosas, insertar, actualizar o eliminar registros. Los procedimientos almacenados también pueden alterar la estructura de la base de datos. Por ejemplo, puede utilizar un procedimiento almacenado para añadir una columna de tabla o incluir borrar una tabla.

Un Store Procedure también puede llamar a otro Store Procedure, así como aceptar entradas y devolver múltiples valores al procedimiento llamado en forma de parámetros de salida.

Page 5: Funciones, Stored Procedures, Triggers

Que es un Trigger

Un trigger o un disparador en una Base de datos es un evento que se ejecuta automáticamente cuando se cumple una condición establecida al realizar una operación de inserción (INSERT), actualización (UPDATE) o borrado (DELETE).

Page 6: Funciones, Stored Procedures, Triggers

Functions, Stored rocedures, Triggers

Ahora en SQL Server 2005 se puede escribir codigo para usar estos objetos usando lenguaje Transact-SQL o un lenguaje Microsoft.Net Framework como C# o Visual Basic

Page 7: Funciones, Stored Procedures, Triggers

Implementando una Funcion

SQL Server contiene funciones ya construidas que pueden ser utilizadas dentro de las aplicaciones para proveer funcionalidad comun.

Un ejemplo de una funcion es GETDATE(), la cual retorna la fecha y hora actual del sistema.

Page 8: Funciones, Stored Procedures, Triggers

Tipos de funciones

Scalar Functions: Retorna un resultado con un valor escalar.

Table-Value Functions: Retorna el resultado en forma de tabla.

Page 9: Funciones, Stored Procedures, Triggers

Scalar Functions

Pueden aceptar 0 o mas parametros de entrada.

Retorna solo un valor escalar. Generalmente se usan en como campos

de columnas y en las condiciones del Where.

No se puede utilizar una funcion para cambiar el estado de un objeto de la base de datos (No puede insertar, modificar, eliminar datos de una tabla. No puede borrar tablas u otros objetos de la base de datos).

Page 10: Funciones, Stored Procedures, Triggers

El Nombre debe ser unico

Puede o no puede tener parametros Tipo de parametro

Sintaxis de una Scalar Function

Tipo de dato de retorno

Opciones

Cuerpo

Page 11: Funciones, Stored Procedures, Triggers

Tabled-Value Functions

Cumplen las mismas reglas de las Scalar Functions.

Retorna una tabla como salida. Generalmente se usan en la

clausula FROM.

Page 12: Funciones, Stored Procedures, Triggers

Sintaxis de una Table-Value Functions

Page 13: Funciones, Stored Procedures, Triggers

Funciones Deterministicas y No Deterministicas

Funciones Deterministicas: retorna siempre para el o los mismos parametros de entrada, el mismo valor de resultado (Ejemplo el coseno de un angulo).

Funciones No Deterministicas: retorna diferentes valores de resultado cada vez que se les llaman (Ejemplo la funcion GetDate().

Page 14: Funciones, Stored Procedures, Triggers

Implementando un Stored Procedure

Es la estructura de programacion mas usada dentro de una base de datos.

Un procedimiento es un nombre asociado a proceso batch de instrucciones SQL que son mantenidasa y ejecutadas en el servidor.

Los stored procedures pueden retornar un valor escalar, o un conjunto de valores.

Es la interfaz necesaria que las aplicaciones deben usar para acceder a los datos dentro de una base de datos.

Page 15: Funciones, Stored Procedures, Triggers

Sintaxis de un Stored Procedure

Page 16: Funciones, Stored Procedures, Triggers

Asignacion de permisos a un Stored Procedure

Como en todos los objetos y operaciones en la base de datos, se deben asignar permisos para que un usuario pueda ejecutar un stored procedure.

Cuando se asigna permisos en un Stored Procedure, automaticamente se delegan permisos sobre los objetos y comandos utilizados dentro del Stored Procedure.

Page 17: Funciones, Stored Procedures, Triggers

Implementando Triggers

Es una implementacion de Transact-SQL o un proceso batch CLR que responde a un evento dentro de la base de datos.

Existen 2 tipos: Data Manipulation Languaje (DML): se ejecutan

con las intrucciones INSERT, UPDATE or DELETE.

Data Definition Languaje (DFL): se ejecutan cuando se crean, alteran o borran objetos de la base de datos.

Page 18: Funciones, Stored Procedures, Triggers

DML Triggers

Un DML trigger no puede ser ejecutado por un usuario.

Puede estar atachado a una tabla o una vista en un evento particular definido.

Modos de ejecucion: AFTER: Se ejecuta cuando se completa exitosamente

todas las validaciones y operaciones de una accion. INSTEAD OF: Se ejecuta sobre la operacion definida,

sin importar si se completo toda la accion. No se puede crear, modificar, borrar, realizar o

restaurar una base de datos mediante un trigger. No puede crear alterar tablas o indices mediante

un trigger.

Page 19: Funciones, Stored Procedures, Triggers

Sintaxis de un DML Trigger

Page 20: Funciones, Stored Procedures, Triggers

DDL Triggers

El proposito principal es auditar acciones realizadas en una base de datos.

Page 21: Funciones, Stored Procedures, Triggers

Sintaxis de un DDL Trigger