Funciones, Stored Procedures, Triggers

  • Published on
    30-Nov-2015

  • View
    68

  • Download
    5

Embed Size (px)

Transcript

<ul><li><p>Functions, Stored Procedures, TriggersFunciones, Procedimientos Almacenados, Disparadores</p></li><li><p>ContenidoQue es una Function (Funcion).Que es un Stored Procedure (Procedimiento Almacenado).Que es un Trigger (Disparador ).Implementar Functions.Implementar Stored Procedures.Implementar Triggers.</p></li><li><p>Que es una Funcion.Es una porcion encapsulada de codigo que puede ser reutilizada por diferentes programas.</p></li><li><p>Que es un Stored Procedure.Un Store Procedure es un elemento de base de datos reutilizable almacenado que realiza alguna operacin en la base de datos. Un procedimiento almacenado contiene cdigo SQL que puede, entre otras cosas, insertar, actualizar o eliminar registros. Los procedimientos almacenados tambin pueden alterar la estructura de la base de datos. Por ejemplo, puede utilizar un procedimiento almacenado para aadir una columna de tabla o incluir borrar una tabla. </p><p>Un Store Procedure tambin puede llamar a otro Store Procedure, as como aceptar entradas y devolver mltiples valores al procedimiento llamado en forma de parmetros de salida.</p></li><li><p>Que es un TriggerUn trigger o un disparador en una Base de datos es un evento que se ejecuta automticamente cuando se cumple una condicin establecida al realizar una operacin de insercin (INSERT), actualizacin (UPDATE) o borrado (DELETE).</p></li><li><p>Functions, Stored rocedures, TriggersAhora 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</p></li><li><p>Implementando una FuncionSQL 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. </p></li><li><p>Tipos de funcionesScalar Functions: Retorna un resultado con un valor escalar.Table-Value Functions: Retorna el resultado en forma de tabla.</p></li><li><p>Scalar FunctionsPueden 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).</p></li><li><p>Sintaxis de una Scalar Function</p></li><li><p>Tabled-Value FunctionsCumplen las mismas reglas de las Scalar Functions.Retorna una tabla como salida.Generalmente se usan en la clausula FROM. </p></li><li><p>Sintaxis de una Table-Value Functions</p></li><li><p>Funciones Deterministicas y No DeterministicasFunciones 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().</p></li><li><p>Implementando un Stored ProcedureEs 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.</p></li><li><p>Sintaxis de un Stored Procedure</p></li><li><p>Asignacion de permisos a un Stored ProcedureComo 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.</p></li><li><p>Implementando TriggersEs 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.</p></li><li><p>DML TriggersUn 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.</p></li><li><p>Sintaxis de un DML Trigger</p></li><li><p>DDL TriggersEl proposito principal es auditar acciones realizadas en una base de datos.</p></li><li><p>Sintaxis de un DDL Trigger</p></li></ul>