Esto es lo que quiero hacer Gracias amigos

05/03/2004 - 17:04 por Yovanny Rojas | Informe spam
Bueno

Lo que quiero es cuando modifique el campo peso_seco aumente o disminuya el
balance_seco de la misma tabla.

El campo balance_seco sera tambien aumentado o disminuido por otras tablas
tambien.

Gracia por tu ayuda amigo
Yovanny Rojas



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

Pero tienes mal el trigger, estas pensando mal la cosa!! porque no


escribis

que buscas del trigger y te ayudamos con la respuesta.

Gracias


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:utSnKMsAEHA.4080@TK2MSFTNGP09.phx.gbl...
> Aquie lanza el error dice q no estan las columnas pes y orden pero


cuando

> hago una operacion desde otra tabla q afecta la tabla de pacas
>
> update pacas Set balanceseco =isnull(pac_balanceseco,0) + pes
> from #i Nuevas inner join pacas
> on Nuevas.orden=pacas.orden
>
> dice :
> [microsoft][odbc slq server driver]]sql server]invalid column name "pes"
> [microsoft][odbc slq server driver]]sql server]invalid column name


"orden"

>
> pero pes esta definido en el select de arriba y orden estan es un campo


de

> la tabla de pacas
>
>
> "Maximiliano D. A." <maxi_accotto[arroba]speedy[.]com[.]ar> wrote in
message
> news:u8iuz9rAEHA.3988@tk2msftngp13.phx.gbl...
> > 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: Maxi_adrogue@msn.com
> >
> >
> > "Yovanny Rojas" <yovannyrojas@hotmail.com> escribió en el mensaje
> > news:%23vZ560rAEHA.1420@TK2MSFTNGP11.phx.gbl...
> > > 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
> > > >
> > > >
> > >
> > >
> >
> >
> >
> > 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


 

Leer las respuestas

#1 Maximiliano D. A.
05/03/2004 - 20:09 | Informe spam
Si pero no entiendo si en esa misma tabla tenes mas de un registro igual eso
es lo que no entiendo, o si solo hay un solo registro.

Hacemos una cosa, escribi bien la formula de como lo queres hacer, olvidate
del SQL y la pc, pensa como lo harias a mano y nos comentas eso si?

Bye


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:
Bueno

Lo que quiero es cuando modifique el campo peso_seco aumente o disminuya


el
balance_seco de la misma tabla.

El campo balance_seco sera tambien aumentado o disminuido por otras tablas
tambien.

Gracia por tu ayuda amigo
Yovanny Rojas



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


message
news:%
> Pero tienes mal el trigger, estas pensando mal la cosa!! porque no
escribis
> que buscas del trigger y te ayudamos con la respuesta.
>
> Gracias
>
>
> 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:
> > Aquie lanza el error dice q no estan las columnas pes y orden pero
cuando
> > hago una operacion desde otra tabla q afecta la tabla de pacas
> >
> > update pacas Set balanceseco =isnull(pac_balanceseco,0) + pes
> > from #i Nuevas inner join pacas
> > on Nuevas.orden=pacas.orden
> >
> > dice :
> > [microsoft][odbc slq server driver]]sql server]invalid column name


"pes"
> > [microsoft][odbc slq server driver]]sql server]invalid column name
"orden"
> >
> > pero pes esta definido en el select de arriba y orden estan es un


campo
de
> > la tabla de pacas
> >
> >
> > "Maximiliano D. A." <maxi_accotto[arroba]speedy[.]com[.]ar> wrote in
> message
> > news:
> > > 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
> > >
> > >
> >
> >
>
>
>
> 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