Guia

Páginas: 8 (1969 palabras) Publicado: 18 de junio de 2012
Base de datos I. Guía 10 Facultad: Ingeniería Escuela: Computación Asignatura: Base de datos I

1

Tema: Disparadores – Parte I.

Objetivo
  Utilizar la sintaxis de un disparador en SQL Server Implementar transacciones en SQL Server

Materiales

y

 Computadora con SQL Server 2008.  Guía Número 10

Introducción
Un disparador (trigger o desencadenador) es una clase especial deprocedimiento almacenado que se ejecuta automáticamente cuando se produce un evento en el servidor de bases de datos. SQL Server proporciona los siguientes tipos de triggers:


Trigger DML, se ejecutan cuando un usuario intenta modificar datos mediante un evento de lenguaje de manipulación de datos (DML). Los eventos DML son instrucciones INSERT, UPDATE o DELETE de una tabla o vista. TriggerDDL, se ejecutan en respuesta a una variedad de eventos de lenguaje de definición de datos (DDL). Estos eventos corresponden principalmente a instrucciones CREATE, ALTER y DROP de Transact-SQL, y a determinados procedimientos almacenados del sistema que ejecutan operaciones de tipo DDL.



En esta guía veremos únicamente los disparadores DDL Trigger DDL Los trigger DDL se ejecutan en respuestaa una variedad de eventos de lenguaje de definición de datos (DDL). Estos eventos corresponden principalmente a instrucciones CREATE, ALTER y DROP de Transact-SQL, y a determinados procedimientos almacenados del sistema que ejecutan operaciones de tipo DDL.

2

Base de datos I, Guía 10

La sintaxis general de un trigger es la siguiente.
CREATE TRIGGER ON DATABASE FOR AS BEGIN

ENDManejo de datos Cuando se quiere agregar, actualizar o eliminar datos de una base de datos, se ejecutan sentencias DML. Una colección de sentencias DML que forman una unidad lógica de trabajo es llamada transacción. Considere una base de datos de un banco. Cuando un cliente del banco transfiere dinero de su cuenta de ahorros a su cuenta de cheques, la transacción puede consistir de tresoperaciones separadas: 1. Decrementar la cuenta de ahorros. 2. Incrementar la cuenta de cheques. 3. Registrar la transacción en la bitácora de transacciones

Insert Delete Update Select Commit Rollback

Sentencias DML Añade filas de datos en una tabla Eliminar filas de datos de una tabla Modificar los datos de una tabla Recuperar datos de una tabla Confirmar como permanentes las modificacionesrealizadas. Deshacer todas las modificaciones realizadas desde la última confirmación.

Transacción Una transacción es un conjunto de operaciones que van a ser tratadas como una única unidad. Estas transacciones deben cumplir 4 propiedades fundamentales comúnmente conocidas como ACID (atomicidad, coherencia, asilamiento y durabilidad). La transacción más simple en SQL Server es una única sentencia SQL.Por ejemplo:

Base de datos I. Guía 10 3 UPDATE Products SET UnitPrice=20 WHERE ProductName ='Chai' Esta es una transacción 'autocommit', una transacción autocompletada(commint implícito). Cuando enviamos esta sentencia al SQL Server se escribe en el fichero de transacciones lo que va a ocurrir y a continuación realiza los cambios necesarios en la base de datos. Si hay algún tipo de problema alhacer esta operación el SQL Server puede leer en el fichero de transacciones lo que se estaba haciendo y si es necesario puede devolver la base de datos al estado en el que se encontraba antes de recibir la sentencia. Por supuesto este tipo de transacciones no requieren de nuestra intervención puesto que el sistema se encarga de todo. Sin embargo si hay que realizar varias operaciones y queremosque sean tratadas como una unidad tenemos que crear esas transacciones de manera explícita.

Sentencias para una transacción Una transacción es un conjunto de operaciones tratadas como una sola. Este conjunto de operaciones debe marcarse como transacción para que todas las operaciones que la conforman tengan éxito o todas fracasen. La sentencia que se utiliza para indicar el comienzo de una...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Guia
  • Guia
  • Guia
  • Guia
  • Guia :)
  • Guia
  • Guia
  • Yo y mis guias

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS