desencadenador sql server
Ricardo Mun~oz A.
rmunoz en pjud.cl
Mie Nov 10 16:56:37 CLST 2004
El mié, 10-11-2004 a las 16:45, Roberto Ovalle escribió:
> en un inicio la página web de php estaba funcionando sin problemas hace más
> de un año, hoy le ingresé el siguiente trigger para que me actualizara un
> campo de la tabla clientes
>
> CREATE TRIGGER [GRABA_FECHA_INICIO] ON dbo.CLIENTES
> FOR INSERT
> AS
>
> DECLARE @codigo int
>
> DECLARE INSERTED_cursor CURSOR FOR
> SELECT CL_CODIGO, CL_RUTR FROM INSERTED
>
> OPEN INSERTED_cursor
>
> FETCH NEXT FROM INSERTED_cursor
> INTO @codigo
>
> IF @@FETCH_STATUS = 0
> BEGIN
> UPDATE CLIENTES SET CL_FECHA_INGRESO =
> '20'+substring(cl_fecing,7,2)+substring(cl_fecing,4,2)+substring(cl_fecing,1
> ,2) WHERE CL_CODIGO = @codigo
> // tuve que poner asi la fecha con substring por que cuando lo hacía con la
> instrucción convert daba vuelta mal la fecha
> END
>
> CLOSE INSERTED_cursor
> DEALLOCATE INSERTED_cursor
>
>
> Despues de grabar el trigger cualquier grabado en la página php arrojaba
> muchos errores por lo que decidí ahicar el trigger lo que me quedó asi
>
> CREATE TRIGGER [Fecha_Ingreso] ON [CLIENTES]
> FOR UPDATE
> AS
>
> UPDATE CLIENTES SET CL_FECHA_INGRESO =
> '20'+substring(cl_fecing,7,2)+substring(cl_fecing,4,2)+substring(cl_fecing,1
> ,2) WHERE CL_CODIGO IN( SELECT CL_CODIGO FROM INSERTED)
>
>
> con este trigger funcionó, no me pregunten por que solo se que los 2 hacen
> lo mismo pero uno es más corto que otro
el primero dice 'FOR INSERT', el segundo 'FOR UPDATE'...
--
Ricardo Mun~oz A.
Usuario Linux #182825 (counter.li.org)
Más información sobre la lista de distribución PHP