SQL Server - Problema con trigger (Update)

 
Vista:

Problema con trigger (Update)

Publicado por pae39 (1 intervención) el 05/03/2004 19:33:59
Hola apreciados amigos. Tengo un error en este trigger, me sale error con la clausula "updated", este script lo copié de un trigger de inserción que usaba la clausula "inserted" en lugar de "updated" sin problemas, quiero que al actualizar un valor en un campo, este se actualice también en otro campo de otra tabla. Gracias de antemano por su atención y ayuda prestada.
Trigger que uso, que está mal

CREATE TRIGGER SetRadNumberAsNumeroUnicoCaso ON dbo.PVEsis2
FOR UPDATE
AS
BEGIN
DECLARE @idCase integer
DECLARE @NumeroUnicoCaso integer

select @idCase = updated.idCase
from updated

select @NumeroUnicoCaso = updated.NumeroUnicoCaso
from updated

UPDATE WFCASE SET radNumber = (select NumeroUnicoCaso from PVEsis2 where NumeroUnicoCaso = @NumeroUnicoCaso) where idCase = @idCase

END
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:Problema con trigger (Update)

Publicado por Mariano (33 intervenciones) el 10/03/2004 22:02:31
Hola, yo creo que es por eso de updated. Hasta ahora siempre crei que no existia. Yo creo que hay que usar en conjunto las tablas inserted y deleted. (una actualizacion es un borrado y una insercion de otra fila con un valor cambiado (no el de la PK))
Creo que esto funciona si es que idCase es la PK de la tabla que queres modificar.
Tambien asegurate que no se este desencadenando recursivamente.
Suerte, y decime si funciona.
CREATE TRIGGER SetRadNumberAsNumeroUnicoCaso ON dbo.PVEsis2
FOR UPDATE
AS
BEGIN
DECLARE @idCase integer
DECLARE @NumeroUnicoCaso integer

select @idCase = inserted.idCase
from inserted inner join deleted on inserted.idCase=deleted.idCase

select @NumeroUnicoCaso = inserted.NumeroUnicoCaso
from inserted inner join deleted on inserted.idCase=deleted.idCase

UPDATE WFCASE SET radNumber = (select NumeroUnicoCaso from PVEsis2 where NumeroUnicoCaso = @NumeroUnicoCaso) where idCase = @idCase

END
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

Problema con trigger (Update)

Publicado por Samuel Guzman (1 intervención) el 30/04/2008 15:44:48
Soy nuevo usando Triggers y necesito un ejemplo de como hacer lo siguiente:

Tengo una tabla de actividades, en la cual tengo un campo que almaceno el % de ejecusión de la actividad y otro (Estado) de tipo de tipo bit (almacena 1 ó 0)

Lo que quiero es hacer un Triggers que me valide que si al actualizar el registro el valor% es 100 que me ponga en valor 1 el campo (Estado).

Asi que el estado de mi registro queda:

0 es habierto
1 es Cerrado
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:Problema con trigger (Update)

Publicado por Danny (1 intervención) el 14/06/2008 01:39:11
Espero que no sea muy tarde. existe un ejemplo muy detallado en esta pagina, debido a que al realizar un trigger en update sale el problema de mutating tables
que tiene una solucion detallada.
http://www.mygnet.net/articulos/oracle/oracle_y_las_mutating_tables.757
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:Problema con trigger (Update)

Publicado por Marcos Made (1 intervención) el 19/06/2008 21:49:14
Como puedo crear trigger en sql de Insercion, modificacion, y eliminacion.

Gracias.
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:Problema con trigger (Update)

Publicado por manuel martinez (1 intervención) el 19/01/2009 22:00:43
no debe ser from updated , debe ser from inserted

espero te ayude
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