desencadenadores

11/11/2003 - 22:06 por Tolo | Informe spam
hola,

según he comentado en el msg anterior, tengo una tabla de lineas de facturas
con los campos: unidades, precio_unitario y total y mi intención es que el
desencadenador insert/update me calcule el total a partir de los valores de
unidades y precio_unitario.

para ello he creado el desencadenador:

CREATE TRIGGER Control_stock_linea ON dbo.T_linies
FOR INSERT, UPDATE
AS

update t_linies set total_bi=(unitats*preu_unitari)


pero el problema está en que esto no me modifica solamente el registro
actual, sino me modifica todos los registros de la BD y lo que mas miedo me
da es que me pueda mezclar los valores de las líneas.

muchísimas gracias

Preguntas similare

Leer las respuestas

#1 Isaías
11/11/2003 - 22:20 | Informe spam
Ya le he contestado.
Respuesta Responder a este mensaje
#2 Accotto Maximiliano D.
11/11/2003 - 22:27 | Informe spam
deberias hacerlo asi para q no te haga eso: TE PUSE EN MAYUSCULAS LOS
CAMBIOS

CREATE TRIGGER Control_stock_linea ON dbo.T_linies
FOR INSERT, UPDATE
AS

update dbo.T_linies
set INSERTED.total_bi=(INSERTED.unitats*INSERTED.preu_unitari)
FROM dbo.T_linies INNER JOIN INSERTED ON
(AQUI EL VINCULO ENTRE AMBAS TABLAS, SEGURO Q DEBERAS PONER NRO FACTURA Y
NUMERO LINEA)

Espero q te halla sido util

Un abrazo


Accotto Maximiliano Damian
hola,

según he comentado en el msg anterior, tengo una tabla de lineas de


facturas
con los campos: unidades, precio_unitario y total y mi intención es que el
desencadenador insert/update me calcule el total a partir de los valores


de
unidades y precio_unitario.

para ello he creado el desencadenador:

CREATE TRIGGER Control_stock_linea ON dbo.T_linies
FOR INSERT, UPDATE
AS

update t_linies set total_bi=(unitats*preu_unitari)


pero el problema está en que esto no me modifica solamente el registro
actual, sino me modifica todos los registros de la BD y lo que mas miedo


me
da es que me pueda mezclar los valores de las líneas.

muchísimas gracias



Respuesta Responder a este mensaje
#3 Tolo
11/11/2003 - 22:30 | Informe spam
hola,

entiendo que inserted se usa tanto para updates como inserts en la tabla,
no?

muchísimas gracias

"Accotto Maximiliano D." escribió en el
mensaje news:
deberias hacerlo asi para q no te haga eso: TE PUSE EN MAYUSCULAS LOS
CAMBIOS

CREATE TRIGGER Control_stock_linea ON dbo.T_linies
FOR INSERT, UPDATE
AS

update dbo.T_linies
set INSERTED.total_bi=(INSERTED.unitats*INSERTED.preu_unitari)
FROM dbo.T_linies INNER JOIN INSERTED ON
(AQUI EL VINCULO ENTRE AMBAS TABLAS, SEGURO Q DEBERAS PONER NRO FACTURA Y
NUMERO LINEA)

Espero q te halla sido util

Un abrazo


Accotto Maximiliano Damian
> hola,
>
> según he comentado en el msg anterior, tengo una tabla de lineas de
facturas
> con los campos: unidades, precio_unitario y total y mi intención es que


el
> desencadenador insert/update me calcule el total a partir de los valores
de
> unidades y precio_unitario.
>
> para ello he creado el desencadenador:
>
> CREATE TRIGGER Control_stock_linea ON dbo.T_linies
> FOR INSERT, UPDATE
> AS
>
> update t_linies set total_bi=(unitats*preu_unitari)
>
>
> pero el problema está en que esto no me modifica solamente el registro
> actual, sino me modifica todos los registros de la BD y lo que mas miedo
me
> da es que me pueda mezclar los valores de las líneas.
>
> muchísimas gracias
>
>
>


Respuesta Responder a este mensaje
#4 Accotto Maximiliano D.
11/11/2003 - 22:36 | Informe spam
yes!! un update hace esto:

Primero un delete y luego un insert

por eso la tabla inserted es la tabla con los valores insertados (me
explico?)



Accotto Maximiliano Damian
" Tolo" escribió en el mensaje
news:
hola,

entiendo que inserted se usa tanto para updates como inserts en la tabla,
no?

muchísimas gracias

"Accotto Maximiliano D." escribió en


el
mensaje news:
> deberias hacerlo asi para q no te haga eso: TE PUSE EN MAYUSCULAS LOS
> CAMBIOS
>
> CREATE TRIGGER Control_stock_linea ON dbo.T_linies
> FOR INSERT, UPDATE
> AS
>
> update dbo.T_linies
> set INSERTED.total_bi=(INSERTED.unitats*INSERTED.preu_unitari)
> FROM dbo.T_linies INNER JOIN INSERTED ON
> (AQUI EL VINCULO ENTRE AMBAS TABLAS, SEGURO Q DEBERAS PONER NRO FACTURA


Y
> NUMERO LINEA)
>
> Espero q te halla sido util
>
> Un abrazo
>
>
> Accotto Maximiliano Damian
> > hola,
> >
> > según he comentado en el msg anterior, tengo una tabla de lineas de
> facturas
> > con los campos: unidades, precio_unitario y total y mi intención es


que
el
> > desencadenador insert/update me calcule el total a partir de los


valores
> de
> > unidades y precio_unitario.
> >
> > para ello he creado el desencadenador:
> >
> > CREATE TRIGGER Control_stock_linea ON dbo.T_linies
> > FOR INSERT, UPDATE
> > AS
> >
> > update t_linies set total_bi=(unitats*preu_unitari)
> >
> >
> > pero el problema está en que esto no me modifica solamente el registro
> > actual, sino me modifica todos los registros de la BD y lo que mas


miedo
> me
> > da es que me pueda mezclar los valores de las líneas.
> >
> > muchísimas gracias
> >
> >
> >
>
>


Respuesta Responder a este mensaje
#5 Tolo
11/11/2003 - 22:44 | Informe spam
perfectamente, gracias

"Accotto Maximiliano D." escribió en el
mensaje news:
yes!! un update hace esto:

Primero un delete y luego un insert

por eso la tabla inserted es la tabla con los valores insertados (me
explico?)



Accotto Maximiliano Damian
" Tolo" escribió en el mensaje
news:
> hola,
>
> entiendo que inserted se usa tanto para updates como inserts en la


tabla,
> no?
>
> muchísimas gracias
>
> "Accotto Maximiliano D." escribió


en
el
> mensaje news:
> > deberias hacerlo asi para q no te haga eso: TE PUSE EN MAYUSCULAS LOS
> > CAMBIOS
> >
> > CREATE TRIGGER Control_stock_linea ON dbo.T_linies
> > FOR INSERT, UPDATE
> > AS
> >
> > update dbo.T_linies
> > set INSERTED.total_bi=(INSERTED.unitats*INSERTED.preu_unitari)
> > FROM dbo.T_linies INNER JOIN INSERTED ON
> > (AQUI EL VINCULO ENTRE AMBAS TABLAS, SEGURO Q DEBERAS PONER NRO


FACTURA
Y
> > NUMERO LINEA)
> >
> > Espero q te halla sido util
> >
> > Un abrazo
> >
> >
> > Accotto Maximiliano Damian
> > > hola,
> > >
> > > según he comentado en el msg anterior, tengo una tabla de lineas de
> > facturas
> > > con los campos: unidades, precio_unitario y total y mi intención es
que
> el
> > > desencadenador insert/update me calcule el total a partir de los
valores
> > de
> > > unidades y precio_unitario.
> > >
> > > para ello he creado el desencadenador:
> > >
> > > CREATE TRIGGER Control_stock_linea ON dbo.T_linies
> > > FOR INSERT, UPDATE
> > > AS
> > >
> > > update t_linies set total_bi=(unitats*preu_unitari)
> > >
> > >
> > > pero el problema está en que esto no me modifica solamente el


registro
> > > actual, sino me modifica todos los registros de la BD y lo que mas
miedo
> > me
> > > da es que me pueda mezclar los valores de las líneas.
> > >
> > > muchísimas gracias
> > >
> > >
> > >
> >
> >
>
>


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida