Hola Jesus
Este ejemplo lo arme para un amigo hace poco, es facil de ver como funciona,
seguro podrás adaptarlo a tu necesidad.
Tabla para el ejemplo
===============
CREATE TABLE [dbo].[prueba] (
[clave] [int] NULL ,
[valor1] [int] NULL ,
[valor2] [int] NULL
) ON [PRIMARY]
Trigger
======
( Fijate que se usa una tabla especial, inserted )
CREATE TRIGGER [CalculoPablo] ON [dbo].[prueba]
FOR INSERT, UPDATE
AS
declare @calculo int
declare @clave int
If UPDATE(Valor2) OR UPDATE(valor1)
BEGIN
select @clave=clave,@calculo=valor1*3 from inserted
update [dbo].[prueba] set valo...@calculo where cla...@clave
END
Prueba
=====
INSERT INTO prueba (clave, valor1, valor2) VALUES ( 1, 2, 3 )
INSERT INTO prueba (clave, valor1, valor2) VALUES ( 2, 5, 8 )
INSERT INTO prueba (clave, valor1, valor2) VALUES ( 3, 10, 9 )
select * from prueba
clave valor1 valor2
1 2 6
2 5 15
3 10 30
(3 filas afectadas)
El 22 de julio de 2009 21:17, Omar Bellio <[email protected]>escribió:
> Y no te conviene hacer una validación antes de insertar o modificar, en
> la "capa/lo que sea" de reglas de negocio?
>
> ----- Original Message -----
> *From:* Jesús dos Santos <[email protected]>
> *To:* Ciudad omarbellio <[email protected]>
> *Sent:* Monday, July 20, 2009 4:42 PM
> *Subject:* [dbms] Ayuda con trigger
>
> Lista, buenas tardes, solicito vuestra ayuda por lo
> siguiente: estoy tratando de armar un trigger para cambiar datos cuando se
> inserte o actualice un registro. La idea es que : si el registro es del tipo
> 3 o 4, el valor de la hora sea 0. es para que no ingresen valor de hora en
> los registros tipo 3 y 4.
>
> Muchas gracias desde ya.
>
>
>
>
--
Daniel A. Calvin
Cooperator Team Member
http://www.cooperator.com.ar
Microsoft Certified Professional