Consulta Triger

26/11/2004 - 23:14 por Novato | Informe spam
Tengo una tabla donde se registran todas las compras que se van realizando y
quiero que cuando realice un Insert en la tabla compra se dispare un trigger
que me actualice la tabla de Stock. O sea que sume lo que compre + la
cantidad que tenia la tabla de stock.

La tabla Compra tiene los siguientes campos (Fecha; Id_producto; Cantidad).

Id_producto; Cantidad


Fecha
Id_ Producto
Cantidad

16/11/2004
1
10

20/11/2004
1
15

21/11/2004
1
20

22/11/2004
1
30

23/11/2004
1
5



Tengo una tabla de Stock que cuenta con los campos

Id_Producto; cantidad

EJ.

Id_ Producto
Cantidad

1
80






Mi pregunta es la siguiente:

Como hago para pasarle al trigger el parámetro de la cantidad que compre y
sumarle a ese producto a la cantidad que ya tenia en la tabla de stock
 

Leer las respuestas

#1 Gustavo Larriera [MVP]
26/11/2004 - 23:24 | Informe spam
"Novato" wrote in message
news:
Tengo una tabla donde se registran todas las compras que se van realizando
y
quiero que cuando realice un Insert en la tabla compra se dispare un
trigger
que me actualice la tabla de Stock. O sea que sume lo que compre + la
cantidad que tenia la tabla de stock.


[...]
Como hago para pasarle al trigger el parámetro de la cantidad que compre y
sumarle a ese producto a la cantidad que ya tenia en la tabla de stock




Durante la ejecución del trigger tienes acceso programático a dos tablas
internas: Inserted y Deleted. Cuando el trigger se disparó debido a un
INSERT (o UPDATE), en la tabla Inserted tienes todos los datos afectados por
el INSERT (o UPDATE). De alli extraes los valores que se están intentando
insertar (o modificar).

La tabla interna Deleted contiene los datos que se intentan borrar en un
DELETE o los datos "anteriores" en el caso de un UPDATE.

Saludos
gux
Gustavo Larriera, MVP
Uruguay LatAm
http://sqljunkies.com/weblog/gux/
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho / This posting is provided "AS IS" with no warranties, and confers
no rights.

Preguntas similares