Alguien mire a ver...

05/03/2004 - 15:20 por Yovanny Rojas | Informe spam
Ok

La estructura de la tabla es la siguiente
Tabla de Pacas
partida char 10
orden char 10
pesoseco float
balanceseco float
La Clave primaria es partida y paca. Lo extraño es que si agrego una nueva
linea en la tabla funciona bien...

Este es codigo se trigger
CREATE trigger trg_pac_balseco on dbo.Pacas
for insert,delete,update
as
begin
select orden, pesoseco as pes
into #i
from inserted

update pacas Set balanceseco =isnull (balanceseco,0) + pes
from #i Nuevas inner join pacas
on Nuevas.orden=pacas.orden


insert into pacas (orden,balanceseco)
select nuevas.orden, pes
from #i Nuevas left join pacas
on Nuevas.orden=pacas.orden
where pacas.orden is null

select orden, pesoseco as pes
into #d
from deleted

update pacas Set balanceseco=isnull(balanceseco,0) - pes
from #d Viejos inner join pacas
on Viejos.orden=pacas.orden

end


"Maximiliano D. A." <maxi_accotto[arroba]speedy[.]com[.]ar> wrote in message
news:%23hxFRprAEHA.2036@TK2MSFTNGP12.phx.gbl...

Hola!! si nos pasaras la estructura de las tablas y el codigo del Trigger
seria mucho mas facil poder darte una mano.

Suerte


Salu2
Maxi
Buenos Aires Argentina
Desarrollador Microsoft 3 Estrellas .NET
[Maxi_accotto[arroba]speedy[punto]com[punto]ar
MSN: Maxi_adrogue@msn.com


"Yovanny Rojas" <yovannyrojas@hotmail.com> escribió en el mensaje
news:ucGFOdrAEHA.2448@TK2MSFTNGP12.phx.gbl...
> Hola amigos
>
> Estoy desarrollando un proyecto con sql server 2000 tengo un trigger q


se

> ejecunta en la misma tabla.
>
> Ejemplo tengo una campo cantidad y uno balance en una misma tabla la
> cantidad actualiza en campo balance...
>
> ahora bien este trigger en ocasiones me lanza error al hacer cualquier
> operacion en la tabla crear,modifcar o borrar.
>
> Si entro un registro nuevo en la tabla desde ese momento hacia delante


no

me
> lanza error
>
> El error que lanza es como si las columnas no existen en las tablas..
>
> Si me pueden decir algo
> Gracias..
> Yovanny Rojas
>
>



Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.593 / Virus Database: 376 - Release Date: 21/02/2004


 

Leer las respuestas

#1 Maximiliano D. A.
05/03/2004 - 15:34 | Informe spam
a ver! vayamos por partes

1) empeza a dividir el Trigger en porciones, no intentes en uno solo poner
todo.

Vos por lo que veo queres actualizar una cabecera pero de la misma tabla con
resgistros que no existen al momento de la insersion!! esto no me queda
claro para nada.

Luego veo que inertas en una tabla temporal, para que lo haces si ya tenes
la inserted y la deleted?

Otra cosa, si queres que el trigger cuando vos hagas un insert suponete
sobre esta tabla haga algo en lugar del insert, debes utilizar Triggers En
lugar de (Instead OF)!!

Explicate un poco mejor que buscas con ese trigger porque lo veo bastante
mal :(

Suerte



Salu2
Maxi
Buenos Aires Argentina
Desarrollador Microsoft 3 Estrellas .NET
[Maxi_accotto[arroba]speedy[punto]com[punto]ar
MSN:


"Yovanny Rojas" escribió en el mensaje
news:%
Ok

La estructura de la tabla es la siguiente
Tabla de Pacas
partida char 10
orden char 10
pesoseco float
balanceseco float
La Clave primaria es partida y paca. Lo extraño es que si agrego una nueva
linea en la tabla funciona bien...

Este es codigo se trigger
CREATE trigger trg_pac_balseco on dbo.Pacas
for insert,delete,update
as
begin
select orden, pesoseco as pes
into #i
from inserted

update pacas Set balanceseco =isnull (balanceseco,0) + pes
from #i Nuevas inner join pacas
on Nuevas.orden=pacas.orden


insert into pacas (orden,balanceseco)
select nuevas.orden, pes
from #i Nuevas left join pacas
on Nuevas.orden=pacas.orden
where pacas.orden is null

select orden, pesoseco as pes
into #d
from deleted

update pacas Set balanceseco=isnull(balanceseco,0) - pes
from #d Viejos inner join pacas
on Viejos.orden=pacas.orden

end


"Maximiliano D. A." <maxi_accotto[arroba]speedy[.]com[.]ar> wrote in


message
news:%
> Hola!! si nos pasaras la estructura de las tablas y el codigo del


Trigger
> seria mucho mas facil poder darte una mano.
>
> Suerte
>
>
> Salu2
> Maxi
> Buenos Aires Argentina
> Desarrollador Microsoft 3 Estrellas .NET
> [Maxi_accotto[arroba]speedy[punto]com[punto]ar
> MSN:
>
>
> "Yovanny Rojas" escribió en el mensaje
> news:
> > Hola amigos
> >
> > Estoy desarrollando un proyecto con sql server 2000 tengo un trigger q
se
> > ejecunta en la misma tabla.
> >
> > Ejemplo tengo una campo cantidad y uno balance en una misma tabla la
> > cantidad actualiza en campo balance...
> >
> > ahora bien este trigger en ocasiones me lanza error al hacer cualquier
> > operacion en la tabla crear,modifcar o borrar.
> >
> > Si entro un registro nuevo en la tabla desde ese momento hacia delante
no
> me
> > lanza error
> >
> > El error que lanza es como si las columnas no existen en las tablas..
> >
> > Si me pueden decir algo
> > Gracias..
> > Yovanny Rojas
> >
> >
>
>
>
> Outgoing mail is certified Virus Free.
> Checked by AVG anti-virus system (http://www.grisoft.com).
> Version: 6.0.593 / Virus Database: 376 - Release Date: 21/02/2004
>
>







Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.593 / Virus Database: 376 - Release Date: 21/02/2004

Preguntas similares