SlideShare una empresa de Scribd logo
Docente :Ing. Marco Aurelio Porro Chulli.
Asignatura :Base de Datos II.
Ciclo : VIII “A”
Integrante:
• Yenny Isabel Cuello Morón.
• Yanina Bustamante Jibaja.
INGENIERÍA DE SISTEMAS Y TELEMÁTICA
ACTIVADORES EN
SQL SERVER
DEFINICION
Son objetos que se asocian con tablas y se almacenan en la
base de datos. Su nombre se deriva por el comportamiento
que presentan en su funcionamiento, ya que se ejecutan
cuando sucede algún evento sobre las tablas a las que se
encuentra asociado.
Los eventos que hacen que se ejecute un trigger son las operaciones de inserción
(INSERT), borrado (DELETE) o actualización (UPDATE), ya que modifica los datos
de una tabla.
 Declarar variables locales
 Invocar procedimientos almacenados
Los triggers pueden:
 Llamarse directamente
 Usar parámetros
 Definirse sobre tablas temporales o vistas
 Crear objetos permanentes de base de datos
Los triggers no pueden:
SINTAXIS
CREATE [ OR ALTER ] TRIGGER [ schema_name . ]trigger_name
ON { table | view }
[ WITH <dml_trigger_option> [ ,...n ] ]
{ FOR | AFTER | INSTEAD OF }
{ [ INSERT ] [ , ] [ UPDATE ] [ , ] [ DELETE ] }
[ WITH APPEND ]
[ NOT FOR REPLICATION ]
AS { sql_statement [ ; ] [ ,...n ] | EXTERNAL NAME <method specifier [ ; ] > }
<dml_trigger_option> ::=
[ ENCRYPTION ]
[ EXECUTE AS Clause ]
<method_specifier> ::=
assembly_name.class_name.method_name
Administración de Activadores (Creación, Modificación y Eliminación)
CREACIÓN
sintaxis
CREATE TRIGGER [ schema_name . ]trigger_name
ON { table | view }
[ WITH <dml_trigger_option> [ ,...n ] ]
{ FOR | AFTER | INSTEAD OF }
{ [ INSERT ] [ , ] [ UPDATE ] [ , ] [ DELETE ] }
[ WITH APPEND ]
[ NOT FOR REPLICATION ]
AS { sql_statement [ ; ] [ ,...n ] | EXTERNAL NAME
<method specifier [ ; ] > }
EJEMPLO
CREATE TABLE EJ_TRIGGER (
A INT PRIMARY KEY,
B CHAR (30))
CREATE TRIGGER TR_I_EJ_TRIGGER ON EJ_TRIGGER FOR INSERT AS
IF datename(month, getdate()) = "October"
BEGIN
SELECT "En Octubre no hay inserciones"
ROLLBACK TRIGGER
END
INSERT INTO EJ_TRIGGER VALUES (2, 'Dos')
SELECT * FROM EJ_TRIGGER
MODIFICACIÓN
Sintaxis
CREATE TRIGGER emp_stamp BEFORE INSERT OR UPDATE ON emp
FOR EACH ROW EXECUTE PROCEDURE emp_stamp();
ELIMINACIÓN
Sintaxis
drop trigger nombre_del_trigger
EJEMPLOS
1.-Crear dos tablas
CREATE TABLE EJ_TRIGGER_2A (
A INT PRIMARY KEY,
B CHAR (30))
CREATE TABLE EJ_TRIGGER_2B (
ID NUMERIC IDENTITY PRIMARY KEY,
FECHA DATETIME,
FILAS INT)
2-Crear un trigger que guarde la fecha y número de filas
afectadas por cada delete:
CREATE TRIGGER TR_D_EJ_TRIGGER_2 ON
EJ_TRIGGER_2A FOR DELETE AS
INSERT INTO EJ_TRIGGER_2B VALUES (getdate(),
@@rowcount)
RETURN
Conclusiones
•Puedes invertir la lógica. En lugar de eliminar una fila no válida después de que se haya
insertado, escriba un activador, por ejemplo: INSTEAD OF para insertar solo si verifica que
la fila sea válida.
•Los activadores también pueden utilizarse para provocar actualizaciones en otras tablas,
para transformar o generar valores automáticamente en las filas insertadas o actualizadas,
o para invocar funciones que realicen tareas como la de emitir alertas.

Más contenido relacionado

PPT
PDF
Triggers o disparadores en MySQL
PPTX
DOCX
Sesión12 - Trigger (Oracle)
DOCX
Sesión02 - Creación de objetos (Oracle)
DOCX
Sesion06c - Sentencias SQL en PL-SQL (Oracle)
PDF
Comandos del-ddl-y-del-dml-liz
DOCX
Sesión04 - Diccionario de datos (Oracle)
Triggers o disparadores en MySQL
Sesión12 - Trigger (Oracle)
Sesión02 - Creación de objetos (Oracle)
Sesion06c - Sentencias SQL en PL-SQL (Oracle)
Comandos del-ddl-y-del-dml-liz
Sesión04 - Diccionario de datos (Oracle)

La actualidad más candente (20)

PPTX
PDF
Sentencias create
PPTX
Otros Objetos de Esquemas Z051 Cap 12
DOCX
Funciones sql
DOCX
Sesion08 - Cursores (Oracle)
PPTX
Manejo de triggers en sql server
DOCX
Sesion05 - Manipulacion de datos (Oracle)
PDF
HTML5 API WebSQL Database: DML: Data Manipulation Language
PPTX
PPTX
MANEJO DE SENTENCIAS DE DEFINICION
PPTX
Funciones y procedimientos en SQL
PPSX
Curso SQL - Leccion 6
PPT
Tutorial Sql
PDF
Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)
PPTX
Fundamentos de SELECT SQL
PPTX
Objetos de Esquema de Oracle Database Z052-09
PPT
Javier Fernández López, Funciones de Dispersión
PPTX
Introduccion a SQL
Sentencias create
Otros Objetos de Esquemas Z051 Cap 12
Funciones sql
Sesion08 - Cursores (Oracle)
Manejo de triggers en sql server
Sesion05 - Manipulacion de datos (Oracle)
HTML5 API WebSQL Database: DML: Data Manipulation Language
MANEJO DE SENTENCIAS DE DEFINICION
Funciones y procedimientos en SQL
Curso SQL - Leccion 6
Tutorial Sql
Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)
Fundamentos de SELECT SQL
Objetos de Esquema de Oracle Database Z052-09
Javier Fernández López, Funciones de Dispersión
Introduccion a SQL
Publicidad

Similar a Activadores (20)

PPTX
Trigger activadores
PPTX
Triggers
PPTX
TRIGGERS O DISPARADORES
PPTX
TRIGGERS-ACTIVADORES
PPTX
TRIGGER-ACTIVADORES
PDF
Tema 1 Parte 5.pdf
PDF
Funciones store proc_triggers
PPT
Bd L8 Eq9 Pre Rosa Triggers
PPT
TRIGGERS
PPT
Funciones store proc_triggers
PPT
Sql 2010
PPTX
Triggers o disparadores
PDF
BDDII T1-2_TalentoDeBasededatosparaminovia
PPTX
Disparadores Trigger En Sql Y My Sql
PPTX
Disparadores Trigger En Sql Y My Sql
PDF
Resumen-sens-SQL.pdf
PPTX
Trigger-activadores en sql server
Trigger activadores
Triggers
TRIGGERS O DISPARADORES
TRIGGERS-ACTIVADORES
TRIGGER-ACTIVADORES
Tema 1 Parte 5.pdf
Funciones store proc_triggers
Bd L8 Eq9 Pre Rosa Triggers
TRIGGERS
Funciones store proc_triggers
Sql 2010
Triggers o disparadores
BDDII T1-2_TalentoDeBasededatosparaminovia
Disparadores Trigger En Sql Y My Sql
Disparadores Trigger En Sql Y My Sql
Resumen-sens-SQL.pdf
Trigger-activadores en sql server
Publicidad

Más de yenny isabel cuello moron (17)

PPTX
Oltp exposicion grupal
PPTX
PPTX
Sistemas de seguridad
PPTX
Procedimientos almacenados
PPTX
PPTX
Preparedstatement(grupal)
PPTX
PPTX
Trabajo de java con base de datos(yanina y yenny)
PPTX
Jdbc(desarrollo de software i yanina y yenny)
PPTX
Trabajo de desarrollo de software(java)yanina y yenny
Oltp exposicion grupal
Sistemas de seguridad
Procedimientos almacenados
Preparedstatement(grupal)
Trabajo de java con base de datos(yanina y yenny)
Jdbc(desarrollo de software i yanina y yenny)
Trabajo de desarrollo de software(java)yanina y yenny

Último (9)

PPTX
Implementación equipo monitor12.08.25.pptx
PPTX
Tratará sobre Grafos_y_Arboles_Presentacion.pptx
PDF
Presentacion de compiladores e interpretes
PPTX
Control de seguridad en los sitios web.pptx
PDF
Clase 3 - Presentación visual (Insertando objetos visuales) POWER POINT.pdf
PPTX
Conceptos basicos de Base de Datos y sus propiedades
PPTX
Fundamentos de Python - Curso de Python dia 1
PDF
AutoCAD Herramientas para el futuro, Juan Fandiño
PPTX
ORIGEN DE LA IA - GRADO 1102 INTELIGENCIA
Implementación equipo monitor12.08.25.pptx
Tratará sobre Grafos_y_Arboles_Presentacion.pptx
Presentacion de compiladores e interpretes
Control de seguridad en los sitios web.pptx
Clase 3 - Presentación visual (Insertando objetos visuales) POWER POINT.pdf
Conceptos basicos de Base de Datos y sus propiedades
Fundamentos de Python - Curso de Python dia 1
AutoCAD Herramientas para el futuro, Juan Fandiño
ORIGEN DE LA IA - GRADO 1102 INTELIGENCIA

Activadores

  • 1. Docente :Ing. Marco Aurelio Porro Chulli. Asignatura :Base de Datos II. Ciclo : VIII “A” Integrante: • Yenny Isabel Cuello Morón. • Yanina Bustamante Jibaja. INGENIERÍA DE SISTEMAS Y TELEMÁTICA ACTIVADORES EN SQL SERVER
  • 2. DEFINICION Son objetos que se asocian con tablas y se almacenan en la base de datos. Su nombre se deriva por el comportamiento que presentan en su funcionamiento, ya que se ejecutan cuando sucede algún evento sobre las tablas a las que se encuentra asociado.
  • 3. Los eventos que hacen que se ejecute un trigger son las operaciones de inserción (INSERT), borrado (DELETE) o actualización (UPDATE), ya que modifica los datos de una tabla.  Declarar variables locales  Invocar procedimientos almacenados Los triggers pueden:  Llamarse directamente  Usar parámetros  Definirse sobre tablas temporales o vistas  Crear objetos permanentes de base de datos Los triggers no pueden:
  • 4. SINTAXIS CREATE [ OR ALTER ] TRIGGER [ schema_name . ]trigger_name ON { table | view } [ WITH <dml_trigger_option> [ ,...n ] ] { FOR | AFTER | INSTEAD OF } { [ INSERT ] [ , ] [ UPDATE ] [ , ] [ DELETE ] } [ WITH APPEND ] [ NOT FOR REPLICATION ] AS { sql_statement [ ; ] [ ,...n ] | EXTERNAL NAME <method specifier [ ; ] > } <dml_trigger_option> ::= [ ENCRYPTION ] [ EXECUTE AS Clause ] <method_specifier> ::= assembly_name.class_name.method_name
  • 5. Administración de Activadores (Creación, Modificación y Eliminación) CREACIÓN sintaxis CREATE TRIGGER [ schema_name . ]trigger_name ON { table | view } [ WITH <dml_trigger_option> [ ,...n ] ] { FOR | AFTER | INSTEAD OF } { [ INSERT ] [ , ] [ UPDATE ] [ , ] [ DELETE ] } [ WITH APPEND ] [ NOT FOR REPLICATION ] AS { sql_statement [ ; ] [ ,...n ] | EXTERNAL NAME <method specifier [ ; ] > }
  • 6. EJEMPLO CREATE TABLE EJ_TRIGGER ( A INT PRIMARY KEY, B CHAR (30)) CREATE TRIGGER TR_I_EJ_TRIGGER ON EJ_TRIGGER FOR INSERT AS IF datename(month, getdate()) = "October" BEGIN SELECT "En Octubre no hay inserciones" ROLLBACK TRIGGER END INSERT INTO EJ_TRIGGER VALUES (2, 'Dos') SELECT * FROM EJ_TRIGGER
  • 7. MODIFICACIÓN Sintaxis CREATE TRIGGER emp_stamp BEFORE INSERT OR UPDATE ON emp FOR EACH ROW EXECUTE PROCEDURE emp_stamp(); ELIMINACIÓN Sintaxis drop trigger nombre_del_trigger
  • 8. EJEMPLOS 1.-Crear dos tablas CREATE TABLE EJ_TRIGGER_2A ( A INT PRIMARY KEY, B CHAR (30)) CREATE TABLE EJ_TRIGGER_2B ( ID NUMERIC IDENTITY PRIMARY KEY, FECHA DATETIME, FILAS INT)
  • 9. 2-Crear un trigger que guarde la fecha y número de filas afectadas por cada delete: CREATE TRIGGER TR_D_EJ_TRIGGER_2 ON EJ_TRIGGER_2A FOR DELETE AS INSERT INTO EJ_TRIGGER_2B VALUES (getdate(), @@rowcount) RETURN
  • 10. Conclusiones •Puedes invertir la lógica. En lugar de eliminar una fila no válida después de que se haya insertado, escriba un activador, por ejemplo: INSTEAD OF para insertar solo si verifica que la fila sea válida. •Los activadores también pueden utilizarse para provocar actualizaciones en otras tablas, para transformar o generar valores automáticamente en las filas insertadas o actualizadas, o para invocar funciones que realicen tareas como la de emitir alertas.