Anda di halaman 1dari 7

8 Ejemplos De Triggers Basicos SQL-SERVER

Publicado el Domingo 13 de octubre de 2013 a las 21:32:53 por Angelwha8


Votar:
0 voto, 0%
Descargas: 137
Nombre: 8 Ejemplos De Triggers Basicos SQL-SERVER
Descargar
Descripcin:
*****LO
MAS

IMPORTANTE

LEERRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR*****

LO OCUPARAS ASI QUE MAS VALE QUE LO DESCARGES SI QUIERES QUE TE CORRAN TODAS
LAS
CONSULTAS
QUE
EH
SUBIDO
ASI
QUE
HAZME
CASO

BUSCA
Scripts

EN
&

MIS

Archivos

CODIGOS

Para

todas

mis

UN
consultas

ARCHIVO
De

SQL

and

QUE
LibreOffice

DIJA:
Base

----------------------------------HOLA

TODOS

AMIGOS(AS):

Ahora me presento tambien subiendo codigos ya de SQL SERVER TAMBIEN SE PUEDE USAR EN
CUALQUIER PROGRAMA SIMILAR SQL E INCLUSIBE EL LIBREOFFICE-BASE y pues subire de lo que
me enseen en mi universidad de todos los lenguajes pero no se emocionen ya que no subo
seguido solo cuando puedo pero subire faciles dificiles etc para todos y gratis saludos Y
AYUDANDO
A
LA
GENTE
cualquier duda o algo ACLARO: NO hago trabajos solo puedo asesorar ya que tengo con mi
escuela
por
si

no
sean
gachos
espero
lo
entiendan
n.n
de antemano mi correo es: angelwha_92@hotmail.com
URL:http://mygnet.net/codigos/sqlserver/manejo_de_base_datos/8_ejemplos_de_triggers_basico
s_sqlserver.3690
Cdigo Fuente:
***TRIGGERS WHA****

----------------------------------------

1.- trigger que actualiza la tabla de pedido y descuenta un pedido


en la tabla detalle pedido

create trigger reduce_pedidos


on PEDIDO
after insert

as begin
set nocount on;
update DETALLE_PEDIDO set ID_Pedido = (DETALLE_PEDIDO.ID_Pedido
-(select ID_Detalle_Pedido from INSERTED))
where ID_Pedido = (select ID_Pedido from INSERTED)
end

-----------------------------------------

2.-

-- La siguiente instruccin impide que se ejecuten


--sentencias DROP TABLE y ALTER TABLE en la base de datos.

CREATE TRIGGER TR_SEGURIDAD

ON DATABASE FOR DROP_TABLE, ALTER_TABLE

AS

BEGIN

RAISERROR ('No est permitido borrar ni modificar tablas !' , 16, 1)

ROLLBACK TRANSACTION

END

------------------------------------------

3.-

Como ejemplo este TRIGGER elimina los pedidos que se encuentran en ambas tablas pedido y
detalle_pedidos y haci
eliminando los pedidos que contengan un 1 completamente

CREATE TRIGGER TR_PEDIDOS on PEDIDO INSTEAD OF DELETE


AS
BEGIN
DELETE dp
FROM DETALLE_PEDIDO dp
INNER JOIN DELETED d
ON dp.ID_Pedido = D.ID_Pedido
WHERE dp.ID_Pedido=1
END

------------------------------------------

4.-Como ejemplo de uso vamos a crear un TRIGGER que se encarge de garantizar que todos
los LOGINS comienzan con tres letras y un gui n bajo, esto podra servir para organizarlos por
aplicaciones o por polticas de seguridad o por cualquier otro concepto.

CREATE TRIGGER LoginsConTresLetrasYGuionBajo


ON ALL SERVER
FOR DDL_LOGIN_EVENTS
AS
BEGIN
DECLARE @ObjName Sysname
SELECT @ObjName=EventData().value('(/EVENT_INSTANCE/ObjectName)[1]','sysname')
IF NOT @ObjName LIKE '[A-Z][A-Z][A-Z][_]%'
BEGIN
ROLLBACK
RAISERROR ('Todos los logins deben comenzar por tres letras y un gui n bajo',16,1)
END
END

----------------------------------------

5.-Estas instrucciones crean un disparador que se activar en el momento que el

usuario desee: eliminar o modificar una tabla.

CREATE TRIGGER Disp_SEGURIDAD


ON DATABASE FOR DROP_TABLE, ALTER_TABLE
AS
BEGIN
RAISERROR ('No est permitido borrar ni modificar tablas !' , 16, 1)
ROLLBACK TRANSACTION
END

--------------------------------------

6.-

--Trigger que para un error cuando alguien intenta


--actualizar/insertar registros en la tabla de cliente que seria algo asi:

CREATE TRIGGER sometrigname


ON CLIENTE
FOR INSERT, UPDATE
AS RAISERROR (50009, 16, 10)

--------------------------------------

7.-

INSERT O INSERTAR CON UN TRIGGER:

CREATE TRIGGER InsertarCliente ON CLIENTE


FOR INSERT
AS
declare @ID_Cliente int;

declare @Nombre nvarchar(50);


declare @A_paterno nvarchar(50);
declare @A_materno nvarchar(50);
declare @Telefono nvarchar(15);
declare @Direccion nvarchar(50);

select @ID_Cliente = i.ID_Cliente from inserted i;


select @Nombre = i.Nombre from inserted i;
select @A_paterno=i.A_Paterno from inserted i;
select @A_materno=i.A_Materno from inserted i;
select @Telefono=i.Telefono from inserted i;
select @Direccion=i.Direccion from inserted i;

insert into CLIENTE (ID_Cliente,Nombre,A_paterno,A_materno,Telefono,Direccion)

values(@ID_Cliente,@Nombre,@A_paterno,@A_materno,@Telefono,@Direccion)

PRINT 'AFTER INSERT CON EXITO EN EL TRIGGER'


GO

-------------------------------------------------------

8.-

UPDATE O MODIFICAR CON UN TRIGGER:

CREATE TRIGGER ModificarCliente ON CLIENTE


FOR UPDATE
AS
declare @ID_Cliente int;
declare @Nombre nvarchar(50);
declare @A_paterno nvarchar(50);
declare @A_materno nvarchar(50);
declare @Telefono nvarchar(15);
declare @Direccion nvarchar(50);

select @ID_Cliente = i.ID_Cliente from inserted i;


select @Nombre = i.Nombre from inserted i;
select @A_paterno=i.A_Paterno from inserted i;
select @A_materno=i.A_Materno from inserted i;
select @Telefono=i.Telefono from inserted i;
select @Direccion=i.Direccion from inserted i;

if update(Nombre)
set @Nombre='Nombre Actualizado';
if update(@A_paterno)
set @A_paterno='Apellido Paterno Actualizado';
if update(@A_materno)
set @A_materno='Apellido Materno Actualizado';
if update(Telefono)
set @Telefono='Telefono Actualizado';
if update(Direccion)
set @Direccion='Direccion Actualizada';

insert into CLIENTE (ID_Cliente,Nombre,A_paterno,A_materno,Telefono,Direccion)

values(@ID_Cliente,@Nombre,@A_paterno,@A_materno,@Telefono,@Direccion)

PRINT 'AFTER UPDATE CON EXITO EN EL TRIGGER'

GO

------------------------------------------------------------

9.-

DELETE O ELIMINAR CON UN TRIGGER:

CREATE TRIGGER EliminarCliente2 ON CLIENTE


AFTER DELETE
AS
declare @ID_Cliente int;

declare @Nombre nvarchar(50);


declare @A_paterno nvarchar(50);
declare @A_materno nvarchar(50);
declare @Telefono nvarchar(15);
declare @Direccion nvarchar(50);

select @ID_Cliente = i.ID_Cliente from inserted i;


select @Nombre = i.Nombre from inserted i;
select @A_paterno=i.A_Paterno from inserted i;
select @A_materno=i.A_Materno from inserted i;
select @Telefono=i.Telefono from inserted i;
select @Direccion=i.Direccion from inserted i;

insert into CLIENTE (ID_Cliente,Nombre,A_paterno,A_materno,Telefono,Direccion)

values(@ID_Cliente,@Nombre,@A_paterno,@A_materno,@Telefono,@Direccion)

PRINT 'AFTER DELETE CON EXITO EN EL TRIGGER'

GO

------------------------------------------------

LEER:

FINALMENTE CAMPEON ESTOS SON LOS TRIGGERS LOS QUE PUDE HACER AHORA SI A
DESCANSAR SE LOS ENTREGAS A ANNIE PORFAVOR TODO EN UN TXT
NO EN EL SCRIPT RECUERDA POR SI ELLA LOS QUIERE CALAR LAS FUNCIONES TRIGGERS ETC....
MEJOR EN UN TXT Y YA CUANDO LO SUBA ELLA
MAANA QUE NOS PASE TODO COMPLETO SALUDOS :D TE QUIERO BRO AHORA ESPERO QUE
PODAMOS PASAR MINIMO LA 3 QUE DIOS NOS OIGA Y SE APIADE
PARA QUE NOS CONCENTREMOS EN LAS RECUPERACIONES n.n

Anda mungkin juga menyukai