Ver Mensaje Individual
  #4 (permalink)  
Antiguo 18/05/2010, 12:53
miguelajh
 
Fecha de Ingreso: julio-2006
Ubicación: En algún lugar de un grán pais
Mensajes: 112
Antigüedad: 17 años, 10 meses
Puntos: 2
Respuesta: update de varias filas en un trigger...

Por ejemplo este es un trigger mio:

CREATE TRIGGER EvitarAltaClientePosterior ON Cliente FOR INSERT, UPDATE AS DECLARE @DBNAME NVARCHAR(128),
@FechaOperacion smalldatetime,
@nud int,
@clientekey int ,
@fechaalta smalldatetime,
@fechaultmodif smalldatetime,
@fechaultvisita smalldatetime,
@fechaultcompra smalldatetime,
@fechAnteriorvisita smalldatetime,
@fechAnteriorcompra smalldatetime

SET @DBNAME = DB_NAME()
DECLARE csr CURSOR FORWARD_ONLY FOR
select NUD, clientekey, fechaalta, fechaultmodif, fechaultvisita, fechaultcompra from INSERTED
OPEN csr
FETCH NEXT FROM csr INTO @nud, @clientekey, @fechaalta, @fechaultmodif, @fechaultvisita, @fechaultcompra
while @@FETCH_STATUS = 0
BEGIN
select @Fechaoperacion = fechaoperacionliq from configuracion
if @fechaalta > @fechaoperacion
begin
update cliente set fechaalta = @fechaoperacion, fechaultmodif = dateadd(dd, 1, @fechaoperacion) where nud = @nud and clientekey = @clientekey
end
/*ELSE
BEGIN
update cliente set fechaultmodif = dateadd(dd, 1, @fechaoperacion) where nud = @nud and clientekey = @clientekey
END*/
FETCH NEXT FROM csr INTO @nud, @clientekey, @fechaalta, @fechaultmodif, @fechaultvisita, @fechaultcompra
END
CLOSE csr
DEALLOCATE csr