error en trigger

09/02/2005 - 00:00 por andrey2001 | Informe spam
Buenas Tardes Grupo...

Si me pueden ayudar con esta situacion...

CREATE TRIGGER mpTg_cambiofechas ON dbo.tbl_car_fechascobranza
FOR UPDATE
AS

insert into
tbl_car_cambiofechascobranza(strcampana,strcodcob,strcampomodifica,strvalorA
nterior,strvalornuevo,strusuario)

select del.strcampana,del.strcodcobranza,
case when update(dtmfechain21) then cast('dtmfechain21' as varchar(12)) when
update(dtmfechascierre) then cast('dtmfechascierre' as varchar(15)) end as
campo,
case when update(dtmfechain21) then del.dtmfechain21 when
update(dtmfechascierre) then del.dtmfechascierre end as valorant ,
case when update(dtmfechain21) then ins.dtmfechain21 when
update(dtmfechascierre) then ins.dtmfechascierre end as valnuevo,
ins.strusuario as usuario from deleted del inner join inserted ins on
del.strcampana+del.strcodcobranza=ins.strcampana+ins.strcodcobranza


CREATE TABLE [dbo].[tbl_car_cambiofechascobranza] (
[strcampana] [varchar] (6) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[strcodcob] [varchar] (3) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[strcampomodifica] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT
NULL ,
[intconsecutivo] [int] NOT NULL ,
[strvalorAnterior] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT
NULL ,
[strvalornuevo] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT
NULL ,
[strusuario] [char] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[dtmfecsis] [datetime] NOT NULL

CREATE TABLE [dbo].[tbl_car_fechascobranza] (
[strcampana] [varchar] (6) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[strcodcobranza] [varchar] (3) COLLATE SQL_Latin1_General_CP1_CI_AS NOT
NULL ,
[strarea] [varchar] (2) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[dtmfechaIn21] [datetime] NOT NULL ,
[dtmfechasCierre] [datetime] NOT NULL ,
[strusuario] [varchar] (15) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[dtmfecsis] [datetime] NOT NULL

el trigger me da este error
"syntax error converting the nvarchar value 'dtmfechain21' to a column of
data type int"


Mil Gracias...

Preguntas similare

Leer las respuestas

#1 MAXI
09/02/2005 - 00:41 | Informe spam
Hola, no entiendo bien que queres hacer con ese trigger, pero el error es
que no puede convertir el valor del cast.

Porque no me explicas bien que necesitas que haga el trigger asi vemos si
tenemos otra manera de resolverlo



Maxi

Buenos Aires - Argentina
Desarrollador .NET 3 Estrellas
Microsoft User Group (MUG)

MSN:
"andrey2001" escribió en el mensaje
news:%23KQ%
Mostrar la cita
#2 ulises
09/02/2005 - 01:30 | Informe spam
Tengo entendido que la clasúla que pregunta si una columna ha sido
modificada es IF UPDATE(), reemplaza el trigger por

CREATE TRIGGER mpTg_cambiofechas ON dbo.tbl_car_fechascobranza
FOR UPDATE
AS
IF UPDATE(dtmfechain21)
INSERT ...
SELECT del.strcampana, del.strcodcobranza, 'dtmfechain21',
del.dtmfechain21, ins.dtmfechain21, ...

IF UPDATE(dtmfechascierre)
INSERT ...
SELECT del.strcampana, del.strcodcobranza, 'dtmfechain21',
del.dtmfechain21, ins.dtmfechain21, ...

Saludos,
Ulises

On Tue, 8 Feb 2005 18:00:38 -0500, "andrey2001"
wrote:

Mostrar la cita
#3 andrey2001
09/02/2005 - 14:31 | Informe spam
Te entiendo Muy Bien Ulises...
Esa opcion ya la he trabajado...
Queria ver si lo podia hacer todo desde una consulta.

Gracias.

"ulises" escribió en el mensaje
news:
Mostrar la cita
A
Mostrar la cita
when
Mostrar la cita
as
Mostrar la cita
,
Mostrar la cita
,
Mostrar la cita
NOT
Mostrar la cita
NOT
Mostrar la cita
,
Mostrar la cita
NULL ,
Mostrar la cita
#4 andrey2001
09/02/2005 - 14:36 | Informe spam
Trato de que cada que se modifiquen dos campos de fecha de la tabla
tbl_car_fechascobranza, se dispare el triguuer me inserte en la tabla
tbl_car_cambiofechascobranza el nombre del campo modificado y el valor
anterior a la modificacion y el valor con el que queda.

la sugerencia de Ulises es la forma como siempre lo he venido haciendo; es
solo que ahora queria probar esta nueva forma. Pero lo puedo seguir haciendo
como Ulise propone, no hay problema.

Mil Gracias MaX...



"MAXI" escribió en el mensaje
news:
Mostrar la cita
tbl_car_cambiofechascobranza(strcampana,strcodcob,strcampomodifica,strvalorA
Mostrar la cita
as
Mostrar la cita
,
Mostrar la cita
,
Mostrar la cita
NOT
Mostrar la cita
NOT
Mostrar la cita
,
Mostrar la cita
NULL
Mostrar la cita
of
Mostrar la cita
Ads by Google
Search Busqueda sugerida