Problemas con modificar

05/01/2006 - 19:25 por leopire200 | Informe spam
Hola tengo un problema con un trigger de modificacion, quiero que cuando
modifico un registro de una tabla me modifique el mismo registro de otra
tabla, les copio el trigger q hice pero no me funciona, que puede estar
mal?

CREATE TRIGGER Modificar ON [dbo].[TablaM]
FOR UPDATE
AS
begin
IF UPDATE (CampoID)
UPDATE Oper20.dbo.TablaM set Oper20.dbo.TablaM.Campoid = (select
Campoid from inserted)
WHERE (Oper20.dbo.TablaM.CampoID = CampoID)
end

Gracias, Leo

Preguntas similare

Leer las respuestas

#1 Hero
05/01/2006 - 19:32 | Informe spam
Leo,


CREATE TRIGGER Modificar ON [dbo].[TablaM]
FOR UPDATE
AS
begin
Declare @Campoid numeric(18,0)

select @Campoid = isnull(Campoid, 0) from inserted

UPDATE TablaDeOtraBase
SET Campoid = @Campoid
WHERE CampoID = @Campoid
end

Saludos

"Leo" escribió en el mensaje
news:

Hola tengo un problema con un trigger de modificacion, quiero que cuando
modifico un registro de una tabla me modifique el mismo registro de otra
tabla, les copio el trigger q hice pero no me funciona, que puede estar
mal?

CREATE TRIGGER Modificar ON [dbo].[TablaM]
FOR UPDATE
AS
begin
IF UPDATE (CampoID)
UPDATE Oper20.dbo.TablaM set Oper20.dbo.TablaM.Campoid = (select
Campoid from inserted)
WHERE (Oper20.dbo.TablaM.CampoID = CampoID)
end

Gracias, Leo

Respuesta Responder a este mensaje
#2 loe
05/01/2006 - 20:19 | Informe spam
Gracias, por tu respuesta, pero no me modififica los datos de la otra
tabla, que puede ser que no funciona?

Gracias de nuevo, leo

Hero wrote:

Leo,


CREATE TRIGGER Modificar ON [dbo].[TablaM]
FOR UPDATE
AS
begin
Declare @Campoid numeric(18,0)

select @Campoid = isnull(Campoid, 0) from inserted

UPDATE TablaDeOtraBase
SET Campoid = @Campoid
WHERE CampoID = @Campoid
end

Saludos

"Leo" escribió en el mensaje
news:
>
> Hola tengo un problema con un trigger de modificacion, quiero que cuando
> modifico un registro de una tabla me modifique el mismo registro de otra
> tabla, les copio el trigger q hice pero no me funciona, que puede estar
> mal?
>
> CREATE TRIGGER Modificar ON [dbo].[TablaM]
> FOR UPDATE
> AS
> begin
> IF UPDATE (CampoID)
> UPDATE Oper20.dbo.TablaM set Oper20.dbo.TablaM.Campoid = (select
> Campoid from inserted)
> WHERE (Oper20.dbo.TablaM.CampoID = CampoID)
> end
>
> Gracias, Leo
>
Respuesta Responder a este mensaje
#3 Maxi
05/01/2006 - 20:28 | Informe spam
Leo, el campo es un PK ?


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"Leo" escribió en el mensaje
news:

Hola tengo un problema con un trigger de modificacion, quiero que cuando
modifico un registro de una tabla me modifique el mismo registro de otra
tabla, les copio el trigger q hice pero no me funciona, que puede estar
mal?

CREATE TRIGGER Modificar ON [dbo].[TablaM]
FOR UPDATE
AS
begin
IF UPDATE (CampoID)
UPDATE Oper20.dbo.TablaM set Oper20.dbo.TablaM.Campoid = (select
Campoid from inserted)
WHERE (Oper20.dbo.TablaM.CampoID = CampoID)
end

Gracias, Leo

Respuesta Responder a este mensaje
#4 Alejandro Mesa
05/01/2006 - 20:32 | Informe spam
leo,

Recuerda que los triggers se disparan por cada operacion y no por cada fila,
asi que debes tener en cuanta que mas de una fla puede haber sido afectada.

UPDATE a
set a.column_a_actualizar = i.columna_from_inserted
from Oper20.dbo.TablaM as a
inner join inserted as i on a.pk = i.pk

pk - primary key de la tabla


AMB

"leo" wrote:

Gracias, por tu respuesta, pero no me modififica los datos de la otra
tabla, que puede ser que no funciona?

Gracias de nuevo, leo

Hero wrote:

> Leo,


> CREATE TRIGGER Modificar ON [dbo].[TablaM]
> FOR UPDATE
> AS
> begin
> Declare @Campoid numeric(18,0)

> select @Campoid = isnull(Campoid, 0) from inserted

> UPDATE TablaDeOtraBase
> SET Campoid = @Campoid
> WHERE CampoID = @Campoid
> end

> Saludos

> "Leo" escribió en el mensaje
> news:
> >
> > Hola tengo un problema con un trigger de modificacion, quiero que cuando
> > modifico un registro de una tabla me modifique el mismo registro de otra
> > tabla, les copio el trigger q hice pero no me funciona, que puede estar
> > mal?
> >
> > CREATE TRIGGER Modificar ON [dbo].[TablaM]
> > FOR UPDATE
> > AS
> > begin
> > IF UPDATE (CampoID)
> > UPDATE Oper20.dbo.TablaM set Oper20.dbo.TablaM.Campoid = (select
> > Campoid from inserted)
> > WHERE (Oper20.dbo.TablaM.CampoID = CampoID)
> > end
> >
> > Gracias, Leo
> >



Respuesta Responder a este mensaje
#5 leo
05/01/2006 - 20:40 | Informe spam
si es la clave, pero tambien quiero realizar otro trigger para cdo se
modifique un campo que no es clave


Maxi wrote:

Leo, el campo es un PK ?
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida