Вы находитесь на странице: 1из 18

MANUAL DE TRIGGER EN SQL

SERVER
ELIMINAR
CURSO:

BASE DE DATOS II

DOCENTE:

ING. EDWIN CIEZA MOSTACERO

ALUMNOS:

GIL AVALOS PATRICIA


LOZADA RUBY
MANRIQUE NOVOA SAMY
ROLDAN SALINAS RONAL
VALLE MANUEL

INDICE
................................................................................................................................. 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 .................................................................................... 5
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 ............................................................................................................. 7
2.4
Por qu elegir Microsoft SQL Server .............................................................................. 7
.................................................................................................................................. 8
1.
2.
3.
4.
5.
6.

Restaurar Backup NEPTUNO ................................................................................................ 8


Creacin de Base de Datos BDRegistro ............................................................................ 11
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
Usar la base de datos NEPTUNO Crear TRIGGER .......................................................... 13
Eliminar un registro de la tabla Pas en la base de datos NEPTUNO. ................................ 15
Verificar si se guardaron los datos en nuestra nueva tabla BDRegistro .......................... 16
.................................................................................................................................... 17
................................................................................................................................................... 18

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


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

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 que son muy complejas para reglas y restricciones.
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.
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.

UNIVERSIDAD SAN PEDRO

MANUAL DE TRIGGER EN SQL SERVER

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
Empresas
Instituciones

UNIVERSIDAD SAN PEDRO

MANUAL DE TRIGGER EN SQL SERVER

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

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

UNIVERSIDAD SAN PEDRO

MANUAL DE TRIGGER EN SQL SERVER

Dispositivo

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

Agregar
Aceptar

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

UNIVERSIDAD SAN PEDRO

MANUAL DE TRIGGER EN SQL SERVER

Buscar Archivo a Restaurar


Aceptar

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

Aceptar

Ilustracin 6: Restaurando Base de Datos - Parte 05

10

UNIVERSIDAD SAN PEDRO

MANUAL DE TRIGGER EN SQL SERVER

2. Creacin de Base de Datos BDRegistro


Nueva Consulta / Master

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

Crear la Base de datos BDRegistro


Ejecutar

Ilustracin 8: Ejecutando Consulta

11

UNIVERSIDAD SAN PEDRO

MANUAL DE TRIGGER EN SQL SERVER

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

Ilustracin 9: Creando Nueva Consulta en "BDRegistro"

Ejecutar Consulta

Ilustracin 10 Ejecutando Consulta para Crear Tabla "Pais_Eliminado"

12

UNIVERSIDAD SAN PEDRO

MANUAL DE TRIGGER EN SQL SERVER

4. Usar la base de datos NEPTUNO Crear TRIGGER


Usar base de datos NEPTUNO

Ilustracin 11: Usando base de datos "NEPTUNO"

Crear Trigger TR_CATEGORIA_ELIMINADA

Ilustracin 12: Creando Trigger "TR_CATEGORIA_ELIMINADA"

13

UNIVERSIDAD SAN PEDRO

MANUAL DE TRIGGER EN SQL SERVER

GO
--se crea el trigger con el nombre TR_CATEGORIA_ELIMINADA
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

14

UNIVERSIDAD SAN PEDRO

MANUAL DE TRIGGER EN SQL SERVER

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

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

15

UNIVERSIDAD SAN PEDRO

MANUAL DE TRIGGER EN SQL SERVER

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

Ilustracin 16: Verificando datos guardado en la tabla Pais_Eliminado

16

UNIVERSIDAD SAN PEDRO

MANUAL DE TRIGGER EN SQL SERVER

http://es.slideshare.net/dinastiajosedejesus/triggers-o-disparadores?related=1
http://www-oei.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

17

UNIVERSIDAD SAN PEDRO

MANUAL DE TRIGGER EN SQL SERVER

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

18

Вам также может понравиться