0% encontró este documento útil (0 votos)
41 vistas3 páginas

Los Triggers

Los triggers son procedimientos especiales que se ejecutan automáticamente cuando se modifican los datos de una tabla mediante inserciones, actualizaciones o eliminaciones. Permiten mantener la integridad referencial de la base de datos. Se crean mediante la instrucción CREATE TRIGGER y se pueden modificar o eliminar con ALTER TRIGGER y DROP TRIGGER respectivamente.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
41 vistas3 páginas

Los Triggers

Los triggers son procedimientos especiales que se ejecutan automáticamente cuando se modifican los datos de una tabla mediante inserciones, actualizaciones o eliminaciones. Permiten mantener la integridad referencial de la base de datos. Se crean mediante la instrucción CREATE TRIGGER y se pueden modificar o eliminar con ALTER TRIGGER y DROP TRIGGER respectivamente.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 3

LOS TRIGGERS

- son PA especiales q se invocan automáticamente cada vez que se modifican datos de una tabla (cuando se
inserta, actualiza o elimina - > INSERT , UPDATE ,DELETE)
- Permiten la consistencia de la base de datos (Integridad referencial)

1. CREACION DE UN TRIGGER

Sintaxis

CREATE TRIGGER nombreTrigger


ON nombreTabla
FOR INSERT | UPDATE | DELETE
AS
‘codigo sql

OBSERVACION

- IF UPDATE (nombreColumna) .- esta instrucción se usa para determinar si INSERT o UPDATE a


afectado una columna determinada de una tabla. Nos devuelve TRUE siempre que se haya asignado
un valor a la columna. Esta instrucción no se aplica a DELETE.

- IF COLUMNS_UPDATED().- esta instrucción se usa para comprobar que columna de la tabla se


actualiza por INSERT o UPDATE

Ejemplo01. Este Trigger no permite ingresar una Ejemplo02. Este Trigger no permite modificar el
edad negativa a la tabla alumnos código de un alumno
use prueba
use prueba if exists(select name,type from sysobjects
if exists(select name,type from sysobjects where name='tr_ActualizaCodigo'
where name='tr_EdadNegativa' and type='TR')
and type='TR') drop trigger tr_ActualizaCodigo
drop trigger tr_EdadNegativa go
go create trigger tr_ActualizaCodigo
create trigger tr_EdadNegativa on alumnos
on alumnos for update
for insert as
as if update(idalumno)
if (select edad from inserted) < 0 begin
begin print 'Acceso denegado’
print 'edad negativa' rollback
rollback end
end go
go --probando el trigger… hacemos una
actualizacion
update alumnos set
--probando el trigger… hacemos una insercion idalumno = 500
exec sp_insertaalumno 100,'luis','mamani',20 where idalumno = 100
Ejemplo03. Este Trigger que comprueba si al columna apellidos ha sido afectada por una instrucción Insert

use prueba
if exists(select name,type from sysobjects
where name='tr_CompruebaColumnaApe'
and type='TR')
drop trigger CompruebaColumnaApe
go
create trigger CompruebaColumnaApe
on alumnos
for insert
as
if update(apellidos)
begin
print 'la columna apellidos a cambiado'
print 'Se realizo una insercion'
end
go
--probando el trigger… hacemos una insercion
insert into alumnos(idalumno,apellidos,edad)
values(200,'valdez',9)

Procedimientos
Sp_depends nombreTabla -> triggers que dependen de la tabla
Sp_Helptext nombreTrigger ->Sentencias que definieron el trigger
Sp_HelpTrigger nombreTabla ->trigger definido para la tabla

2. MODIFICACION DE UN TRIGGER

Sintaxis:

ALTER TRIGGER nombre trigger


ON nombreTabla
FOR INSERT | UPDATE | DELETE
AS
‘codigo sql

3. ELIMINACION DE UN TRIGGER

Sintaxis:

DROP TRIGGER nombre trigger

También podría gustarte