You are on page 1of 16

INDICE

MARCO TEORICO................................................................................................. 4
1. TRIGGER................................................................................................... 4
1.1 CONCEPTO:....................................................................................... 4
1.2 USO:................................................................................................... 4
1.3 UN TRIGGER TIENE ASOCIADO:......................................................4
1.4
Limitaciones de los triggers..................................................................4
1.5 APLICACIONES TIPICAS DE TRIGGERS...........................................5
1.6 SINTAXIS ESENCIAL DE UN TRIGGER.............................................5
2. MICROSOFT SQL SERVER......................................................................6
2.1 Qu es Microsoft SQL Server.........................................................6
2.2 A quin le sirve Microsoft SQL Server..........................................6
2.3 Tipos de Licencia............................................................................. 6
2.4 Por qu elegir Microsoft SQL Server............................................7
DEMOSTRACION.................................................................................................. 8
1. Restaurar Backup NEPTUNO...................................................................8
2. Creacin de Base de Datos BDRegistro........................................11
3. Crear la tabla Pais_Eliminado en la base de datos BDRegistro con los
mismos campos de la tabla de la cual vamos a almacenar los registros
eliminados.............................................................................................. 12
4. Usar la base de datos NEPTUNO Crear TRIGGER......................13
5. Eliminar un registro de la tabla Pas en la base de datos NEPTUNO.....15
6. Verificar si se guardaron los datos en nuestra nueva tabla
BDRegistro............................................................................................ 16
BIBLIOGRAFIA.................................................................................................... 17
LINK................................................................................................................... 18

INDICE DE IMAGENES
Ilustracin
Ilustracin
Ilustracin
Ilustracin
Ilustracin
Ilustracin
Ilustracin
Ilustracin
Ilustracin
Ilustracin
Ilustracin
Ilustracin
Ilustracin

1: Conexin de Servidor a SQL Server 2012......................................8


2: Restaurando Base de Datos "Neptuno Parte 01........................8
3: Restaurando Base de Datos "Neptuno" - Parte 02.........................9
4: Restaurando Base de Datos "Neptuno" - Parte 03.........................9
5: Restaurando Base de Datos "Neptuno" - Parte 04.......................10
6: Restaurando Base de Datos - Parte 05........................................10
7: Creacin de Nueva Base de Datos "BDRegistro".........................11
8: Ejecutando Consulta....................................................................11
9: Creando Nueva Consulta en "BDRegistro"...................................12
10 Ejecutando Consulta para Crear Tabla "Pais_Eliminado".............12
11: Usando base de datos "NEPTUNO"............................................13
12: Creando Trigger "TR_CATEGORIA_ELIMINADA"...........................13
13: TRIGGER TR_CATEGORIA_ELIMINADA........................................14

UNIVERSIDAD SAN PEDRO

MANUAL DE TRIGGER EN SQL SERVER

Ilustracin 14: Corroborando Trigger creado en Tabla Pas................................15


Ilustracin 15: Eliminando Registro en Tabla Pais - "NEPTUNO".......................15
Ilustracin 16: Verificando datos guardado en la tabla Pais_Eliminado.............16

UNIVERSIDAD SAN PEDRO

MANUAL DE TRIGGER EN SQL SERVER

MARCO TEORICO
1. TRIGGER
1.1
CONCEPTO:
Es un procedimiento que se ejecuta cuando se cumple una condicin
establecida al realizar una operacin. Dependiendo de la base de datos,
los triggers pueden ser de insercin (INSERT), actualizacin (UPDATE) o
borrado (DELETE).Algunas bases de datos pueden ejecutar triggers al
crear, borrar o editar usuarios, tablas, bases de datos u otros objetos.
1.2

USO:

Los disparadores pueden emplearse para muchas cosas diferentes,


incluyendo:
El mantenimiento de restricciones de integridad complejas, que no
sean posibles con las restricciones declarativas definidas en el
momento de crear la tabla.
La auditora de la informacin contenida en una tabla, registrando los
cambios realizados y la identidad del que los llev a cabo.
El aviso automtico a otros programas de que hay que llevar a cabo
una determinada accin, cuando se realiza un cambio en una tabla
1.3

UN TRIGGER TIENE ASOCIADO:


EL EVENTO: se refiere a la operacin que se efecta sobre la tabla
(INSERT, DELETE o UPDATE).
EL MOMENTO: Se refiere a cundo se dispara el trigger en relacin
con el evento. Sus posibles valores son BEFORE y AFTER*.
EL TIPO: Indica el nmero de veces que el cuerpo del trigger se
ejecuta: por la operacin en conjunto (trigger de operacin) o por
cada fila procesada (trigger de fila). En este ltimo caso se debe
adicionar la clusula FOR EACH ROW

UNIVERSIDAD SAN PEDRO

MANUAL DE TRIGGER EN SQL SERVER

1.4 Limitaciones de los triggers

Solo se pueden aplicar a una tabla especfica, es decir, un trigger no


sirve para dos o ms tablas.
El trigger se crea en la base de datos que de trabajo pero desde un
trigger puedes hacer referencia a otras bases de datos.
Un Trigger devuelve resultados al programa que lo desencadena de
la misma forma que un Stored Procedure aunque no es lo ms
idneo, para impedir que una instruccin de asignacin devuelva un
resultado se puede utilizar la sentencia SET NOCOUNT al principio del
Trigger.
1.5

APLICACIONES TIPICAS DE TRIGGERS


Hacer modificaciones en cascada sobre tablas relacionadas.
Deshacer cambios que violan la integridad de los datos.
Forzar restricciones
restricciones.

que

son

muy

complejas

para

reglas

Mantener datos duplicados.


Mantener columnas con datos derivados.
Hacer ajustes de registros.
1.6

SINTAXIS ESENCIAL DE UN TRIGGER


CREATE TRIGGER trigger_name
ON { table | view }
[ WITH <dml_trigger_option> [ ,...n ] ]
{ FOR | AFTER | INSTEAD OF }
{ [ INSERT ] [ , ] [ UPDATE ] [ , ] [ DELETE ] }
AS { sql_statement [ ; ] [ ,...n ]

Trigger_name es el nombre dado al trigger. Es un objeto de la base de


datos y su nombre debe ser nico.
AFTER indica que el desencadenador slo se activa cuando todas las
operaciones especificadas en la instruccin SQL desencadenadora se
han ejecutado correctamente.

UNIVERSIDAD SAN PEDRO

MANUAL DE TRIGGER EN SQL SERVER

Adems, todas las acciones referenciales en cascada y las


comprobaciones de restricciones deben ser correctas para que este
desencadenador se ejecute.
AFTER es el valor predeterminado cuando slo se especifica la palabra
clave FOR.
Los desencadenadores AFTER no se pueden definir en las vistas.
INSTEAD OF
Especifica que se ejecuta el desencadenador en vez de la instruccin
SQL desencadenadora, por lo que se suplantan las acciones de las
instrucciones desencadenadoras.
Como mximo, se puede definir un desencadenador INSTEAD OF por
cada instruccin
INSERT, UPDATE o DELETE en cada tabla o vista. No obstante, en las
vistas es posible definir otras vistas que tengan su propio
desencadenador INSTEAD OF.
Los desencadenadores INSTEAD OF no se pueden utilizar en vistas
actualizables que usan WITH CHECK OPTION.
{ [ DELETE ] [ , ] [ INSERT ] [ , ] [ UPDATE ] }
Especifica las instrucciones de modificacin de datos que activan el
desencadenador cuando se intenta en esta tabla o vista. Se debe
especificar al menos una opcin. En la definicin del desencadenador se
permite cualquier combinacin de estas opciones, en cualquier orden.
Para los desencadenadores INSTEAD OF, no se permite la opcin
DELETE en tablas que tengan una relacin de integridad referencial que
especifica una accin ON DELETE en cascada. Igualmente, no se
permite la opcin UPDATE en tablas que tengan una relacin de
integridad referencial que especifica una accin ON UPDATE en
cascada.
2. MICROSOFT SQL SERVER
2.1
Qu es Microsoft SQL Server
Microsoft SQL Server es un sistema para la gestin de bases de
datos producido por Microsoft basado en el modelo relacional cuya
principal funcin es la de almacenar y consultar datos solicitados por
otras aplicaciones, sin importar si estn en la misma computadora, si
estn conectadas a una red local o si estn conectadas a travs de
internet (plataforma Cloud-Ready).
2.2

A quin le sirve Microsoft SQL Server


Bsicamente,
cualquier
usuario
que
desee
mantener
ordenados/organizados datos o informacin con el fin de acceder a ellos
ms adelante
Industrias
Bancos
Compaas manufactureras
6

UNIVERSIDAD SAN PEDRO

MANUAL DE TRIGGER EN SQL SERVER

Empresas
Instituciones

2.3

Tipos

de Licencia
Enterprise
Business intelligence
Standard
Web
Express con advanced services
Express con herramientas
Express

2.4

Por qu elegir Microsoft SQL Server


Seguridad
Integridad de Datos
Concurrencia

UNIVERSIDAD SAN PEDRO

MANUAL DE TRIGGER EN SQL SERVER

DEMOSTRACION
1. Restaurar Backup NEPTUNO
Abrimos el Programa SQL Server 2012
Conectar

Ilustracin 1: Conexin de Servidor a SQL Server 2012

Restaurar Backup Neptuno

Ilustracin 2: Restaurando Base de Datos "Neptuno Parte 01

Dispositivo

UNIVERSIDAD SAN PEDRO

MANUAL DE TRIGGER EN SQL SERVER

Ilustracin 3: Restaurando Base de Datos "Neptuno" - Parte 02

Agregar
Aceptar

Ilustracin 4: Restaurando Base de Datos "Neptuno" - Parte 03

Buscar Archivo a Restaurar


Aceptar

UNIVERSIDAD SAN PEDRO

MANUAL DE TRIGGER EN SQL SERVER

Ilustracin 5: Restaurando Base de Datos "Neptuno" - Parte 04

Aceptar

Ilustracin 6: Restaurando Base de Datos - Parte 05

2. Creacin de Base de Datos BDRegistro


Nueva Consulta / Master

10

UNIVERSIDAD SAN PEDRO

MANUAL DE TRIGGER EN SQL SERVER

Ilustracin 7: Creacin de Nueva Base de Datos "BDRegistro"

Crear la Base de datos BDRegistro


Ejecutar

Ilustracin 8: Ejecutando Consulta

3. Crear la tabla Pais_Eliminado en la base de datos BDRegistro con


los mismos campos de la tabla de la cual vamos a almacenar los
registros eliminados.
BDRegistro
Nueva Consulta
11

UNIVERSIDAD SAN PEDRO

MANUAL DE TRIGGER EN SQL SERVER

Ilustracin 9: Creando Nueva Consulta en "BDRegistro"

Ejecutar Consulta

Ilustracin 10 Ejecutando Consulta para Crear Tabla "Pais_Eliminado"

4. Usar la base de datos NEPTUNO Crear TRIGGER


Usar base de datos NEPTUNO

12

UNIVERSIDAD SAN PEDRO

MANUAL DE TRIGGER EN SQL SERVER

Ilustracin 11: Usando base de datos "NEPTUNO"

Crear Trigger TR_CATEGORIA_ELIMINADA

Ilustracin 12: Creando Trigger "TR_CATEGORIA_ELIMINADA"

GO
--se crea el trigger con el nombre TR_CATEGORIA_ELIMINADA
13

UNIVERSIDAD SAN PEDRO

MANUAL DE TRIGGER EN SQL SERVER

CREATE TRIGGER TR_CATEGORIA_ELIMINADA


--la tabla que afecta
ON dbo.Pais
--la operacin q realiza el trigger After (ocurre despus de que pasa la
eliminacin)
AFTER DELETE
AS
BEGIN
--las sentencias sql que ejecuta el trigger
INSERT INTO BDRegistrar.dbo.Pais_Eliminado
SELECT * FROM DELETED d
END
GO
Ilustracin 13: TRIGGER TR_CATEGORIA_ELIMINADA

Ilustracin 14: Corroborando Trigger creado en Tabla Pas

5. Eliminar un registro de la tabla Pas en la base de datos


NEPTUNO.
Se ejecutar el Trigger y el Registro eliminado se almacenar en
la tabla Pais_Eliminado de la base de datos BDRegistro
14

UNIVERSIDAD SAN PEDRO

MANUAL DE TRIGGER EN SQL SERVER

Ilustracin 15: Eliminando Registro en Tabla Pais - "NEPTUNO"

6. Verificar si se guardaron los datos en nuestra nueva tabla


BDRegistro

Ilustracin 16: Verificando datos guardado en la tabla Pais_Eliminado

15

UNIVERSIDAD SAN PEDRO

MANUAL DE TRIGGER EN SQL SERVER

BIBLIOGRAFIA
http://es.slideshare.net/dinastiajosedejesus/triggers-o-disparadores?related=1
http://wwwoei.eui.upm.es/Asignaturas/BD/BD/docbd/prac/sintaxisSQLServer.pdf
http://www.snip.gob.ni/xdc/SQL/Desencadenadores.pdf
http://static.schoolrack.com/files/14960/103289/Tutorial_de_SQL_Server_2005_
Express.pdf

16

UNIVERSIDAD SAN PEDRO

MANUAL DE TRIGGER EN SQL SERVER

LINK
https://mega.co.nz/#!kQkk2LhL!sL9x3UNfMjoxOvH78HDZNDiIkZzW88a0c1rTs8ZiGU4

17

You might also like