SQL - Como UTILIZAR UN TRIGGER???

 
Vista:

Como UTILIZAR UN TRIGGER???

Publicado por Gabylu (16 intervenciones) el 21/09/2002 00:01:54
SEGUN POR LO QUE HE LEIDO SE USA PARA DISPARAR ALGUN PROCESO CUANDO SE INSERTA, CIERTO??????.

QUE PROCESO SERIA ESE?

ALGUIEN PUEDE PONERME UN EJEMPLO DEL TRIGGER MAS SENCILLO QUE SE PUEDA UTILIZAR Y EXPLICAR LA SINTAXIS.

GRACIAS.
PERDON POR SER TAN PREGUNTONA?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Como UTILIZAR UN TRIGGER???

Publicado por Gabylu (16 intervenciones) el 21/09/2002 00:30:34
PUES HIZE ALGO DE LO MAS SENCILLO

CREATE TRIGGER trigger1
ON guest.LOCAL
FOR INSERT

AS

BEGIN
PRINT 'HECHO'
END
GO

HE INSERT UN NUEVO DATO CON UN SP A LA TABLA LOCAL Y ME DISPARO EL TRIGGER ESCRIBIO HECHO, PERO EL DATO QUE INSERTE NO APARECE EN LA TABLA LLAMADA LOCAL???? QUE PASO?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

UNA VEZ MAS YA FUNCIONA¡¡¡¡¡¡¡

Publicado por Gabylu (16 intervenciones) el 21/09/2002 00:53:21
YA FUNCIONA¡¡¡¡¡

DE HECHO CAMBIE EL PRINT 'HECHO' POR UNA CONSULTA Y FUNCIONA MUY BIEN.

SALUDOS A TODOS.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como UTILIZAR UN TRIGGER???

Publicado por MaxZ (31 intervenciones) el 21/09/2002 00:54:41
Hola, un trigger ocurre cuando insertas, borras o actualizas en dato de una tabla, por ejemplo si cambias el valor de un campo determinado y quieres que autómaticamente se genere un registro en otra tabla historica creas un triger que se ejecute al actualizar (update) y en este trigger puedes hacer un insert en la tabla historica.

Por ejemplo yo tengo dos tablas
tabla 1:
estado
codigo char(10)
estado char(1)
fecha datetime()
tabla 2:
histEstado
codigo char(10)
estado char(1)
fecha datetime()
Y cada vez que el campo estado de la tabla estados se actualiza se ejecuta el sgte trigger:

CREATE TRIGGER creaHist ON [estado]
FOR INSERT, UPDATE, DELETE
AS
declare @exEstado as varchar(1)
declare @codigo as varchar(10)
select @exEstado=estado ,
@codigo=codigo
from inserted
if COLUMNS_UPDATED() =2
insert into histEstado (fecha,estado,codigo) values (getdate(),@exEstado,@codigo)

Este triguer verifica si se ha actualizado la columna 2 (estado) de la tabla estado y si es así almacena los datos de codigo, estado antes de de la modificacion y en fecha la fecha en la que se produjo la actualizacion a traves de la función getdate.

Ojala te sirva, saludos de Peru

MaxZ



Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como UTILIZAR UN TRIGGER???

Publicado por MaxZ (31 intervenciones) el 21/09/2002 00:56:28
creo que mi ayuda llegó un poquito tarde
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

PARA TI MAXZ¡¡¡¡¡¡

Publicado por GABYLU (16 intervenciones) el 21/09/2002 01:24:25
POR EL CONTRARIO TE AGRADEZCO MUCHO YA QUE EL EJEMPLO QUE ME DISTE ME SIRVIO PARA VALIDAR UNA TABLA NUEVA QUE VOY A GENERAR.

LA VERDAD ES QUE ME HAN AYUDADO MUCHO.

Y SE LES AGRADECE.

CUIDATE
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar