Actualizando una tabla detail

24/09/2004 - 14:42 por El principiante | Informe spam
Hola a todos.

En un sistema de inventario al registrar una factura que tiene una lista de
articulos y cantidades debo rebajar las existencias
en inventario, que es otra tabla indexada por un codigo. Tipico no ?

Si modifico la factura, tambien, debo mantener actualizada la tabla de
existencias.

Soy nuevo en SQL Server . Lo que he pensado es que al registrar los datos
hacer un DELETE FROM de los registros existentes en la factura (los
articulos) para sumar las cantidades al archivo de existencias y luego hacer
un INSERT INTO de los articulos de la factura actual para restar las
cantidades al archivo de existencias.

Mi pregunta es que debo hacer insertar acciones tanto despues de borrar CADA
registro como despues de insertar CADA registro. Como hago eso ? Para eso
son los triggers ??? Cuando ocurren los triggers , antes o despues de la
insercion o el borrado ?

Preguntas similare

Leer las respuestas

#1 Maxi
24/09/2004 - 14:50 | Informe spam
Hola, deberias armar trigger (creo que justamente tengo un ejemplo que uso
para tu caso,)

Los trigger ocurren en los diferentes eventos (insert,update,delete) no
luego de hacerlo, o sea, estan dentro del evento por decirlo de alguna
forma.

Estaria bueno que leas un poco en tus libros on line sobre CREATE TRIGGER


Salu2
Maxi
Buenos Aires - Argentina
Desarrollador Microsoft 3 Estrellas .NET
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"El principiante" escribió en el mensaje
news:
Hola a todos.

En un sistema de inventario al registrar una factura que tiene una lista


de
articulos y cantidades debo rebajar las existencias
en inventario, que es otra tabla indexada por un codigo. Tipico no ?

Si modifico la factura, tambien, debo mantener actualizada la tabla de
existencias.

Soy nuevo en SQL Server . Lo que he pensado es que al registrar los


datos
hacer un DELETE FROM de los registros existentes en la factura (los
articulos) para sumar las cantidades al archivo de existencias y luego


hacer
un INSERT INTO de los articulos de la factura actual para restar las
cantidades al archivo de existencias.

Mi pregunta es que debo hacer insertar acciones tanto despues de borrar


CADA
registro como despues de insertar CADA registro. Como hago eso ? Para


eso
son los triggers ??? Cuando ocurren los triggers , antes o despues de la
insercion o el borrado ?








Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.764 / Virus Database: 511 - Release Date: 15/09/2004
Respuesta Responder a este mensaje
#2 Daniel
24/09/2004 - 15:53 | Informe spam
Hola, dos preguntas:
¿no sería más sencillo (implementación y mantenimiento)
hacer lo mismo pero con un procedimiento almacenado?

¿No sería mejor dejar los triggers para cuando es
estrictamente mecesario (por ej. para cuestiones de
auditoría)?

Sds.,
Daniel.
Hola, deberias armar trigger (creo que justamente tengo


un ejemplo que uso
para tu caso,)

Los trigger ocurren en los diferentes eventos


(insert,update,delete) no
luego de hacerlo, o sea, estan dentro del evento por


decirlo de alguna
forma.

Estaria bueno que leas un poco en tus libros on line


sobre CREATE TRIGGER


Salu2
-


-
Maxi
Buenos Aires - Argentina
Desarrollador Microsoft 3 Estrellas .NET
-


-
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"El principiante" escribió en el


mensaje
news:
Hola a todos.

En un sistema de inventario al registrar una factura




que tiene una lista
de
articulos y cantidades debo rebajar las existencias
en inventario, que es otra tabla indexada por un




codigo. Tipico no ?

Si modifico la factura, tambien, debo mantener




actualizada la tabla de
existencias.

Soy nuevo en SQL Server . Lo que he pensado es que al




registrar los
datos
hacer un DELETE FROM de los registros existentes en la




factura (los
articulos) para sumar las cantidades al archivo de




existencias y luego
hacer
un INSERT INTO de los articulos de la factura actual




para restar las
cantidades al archivo de existencias.

Mi pregunta es que debo hacer insertar acciones tanto




despues de borrar
CADA
registro como despues de insertar CADA registro. Como




hago eso ? Para
eso
son los triggers ??? Cuando ocurren los triggers ,




antes o despues de la
insercion o el borrado ?








Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.764 / Virus Database: 511 - Release Date:


15/09/2004


.

Respuesta Responder a este mensaje
#3 El principiante
24/09/2004 - 15:58 | Informe spam
Como se haria con un SP ?


"Daniel" wrote in message
news:2fe301c4a23d$f15830d0$
Hola, dos preguntas:
¿no sería más sencillo (implementación y mantenimiento)
hacer lo mismo pero con un procedimiento almacenado?

¿No sería mejor dejar los triggers para cuando es
estrictamente mecesario (por ej. para cuestiones de
auditoría)?

Sds.,
Daniel.
Hola, deberias armar trigger (creo que justamente tengo


un ejemplo que uso
para tu caso,)

Los trigger ocurren en los diferentes eventos


(insert,update,delete) no
luego de hacerlo, o sea, estan dentro del evento por


decirlo de alguna
forma.

Estaria bueno que leas un poco en tus libros on line


sobre CREATE TRIGGER


Salu2
-


-
Maxi
Buenos Aires - Argentina
Desarrollador Microsoft 3 Estrellas .NET
-


-
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"El principiante" escribió en el


mensaje
news:
Hola a todos.

En un sistema de inventario al registrar una factura




que tiene una lista
de
articulos y cantidades debo rebajar las existencias
en inventario, que es otra tabla indexada por un




codigo. Tipico no ?

Si modifico la factura, tambien, debo mantener




actualizada la tabla de
existencias.

Soy nuevo en SQL Server . Lo que he pensado es que al




registrar los
datos
hacer un DELETE FROM de los registros existentes en la




factura (los
articulos) para sumar las cantidades al archivo de




existencias y luego
hacer
un INSERT INTO de los articulos de la factura actual




para restar las
cantidades al archivo de existencias.

Mi pregunta es que debo hacer insertar acciones tanto




despues de borrar
CADA
registro como despues de insertar CADA registro. Como




hago eso ? Para
eso
son los triggers ??? Cuando ocurren los triggers ,




antes o despues de la
insercion o el borrado ?








Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.764 / Virus Database: 511 - Release Date:


15/09/2004


.

Respuesta Responder a este mensaje
#4 El principiante
24/09/2004 - 15:58 | Informe spam
Podrias postear el ejemplo de codigo ?

Gracias


"Maxi" wrote in message
news:
Hola, deberias armar trigger (creo que justamente tengo un ejemplo que uso
para tu caso,)

Los trigger ocurren en los diferentes eventos (insert,update,delete) no
luego de hacerlo, o sea, estan dentro del evento por decirlo de alguna
forma.

Estaria bueno que leas un poco en tus libros on line sobre CREATE TRIGGER


Salu2
Maxi
Buenos Aires - Argentina
Desarrollador Microsoft 3 Estrellas .NET
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"El principiante" escribió en el mensaje
news:
> Hola a todos.
>
> En un sistema de inventario al registrar una factura que tiene una lista
de
> articulos y cantidades debo rebajar las existencias
> en inventario, que es otra tabla indexada por un codigo. Tipico no ?
>
> Si modifico la factura, tambien, debo mantener actualizada la tabla de
> existencias.
>
> Soy nuevo en SQL Server . Lo que he pensado es que al registrar los
datos
> hacer un DELETE FROM de los registros existentes en la factura (los
> articulos) para sumar las cantidades al archivo de existencias y luego
hacer
> un INSERT INTO de los articulos de la factura actual para restar las
> cantidades al archivo de existencias.
>
> Mi pregunta es que debo hacer insertar acciones tanto despues de borrar
CADA
> registro como despues de insertar CADA registro. Como hago eso ? Para
eso
> son los triggers ??? Cuando ocurren los triggers , antes o despues de


la
> insercion o el borrado ?
>
>
>



Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.764 / Virus Database: 511 - Release Date: 15/09/2004


Respuesta Responder a este mensaje
#5 Javier Loria
24/09/2004 - 18:15 | Informe spam
Hola:
Si modifico la factura?
En la mayoria de los sistema no se permite modificar las facturas, y es
normalmente un problema de seguridad que ocurra.
Si pasa con frecuencia que uno permite Anular/Cancelar una factura, y
los auditores "jamas" permiten que se borre una factura.
Revisa bien los requerimientos, en mi caso yo cuestionaria seriamente un
sistema que permita borrar una factura y no deje rastro.
Asumiendo que si lo permites, podrias crear una Procedimiento Almacenado
como este, basado en las tablas de Northwind:
==CREATE PROC Borra_Orden
(@OrdenID INT)
AS
BEGIN TRAN
UPDATE Products
SET UnitsInStock=UnitsInStock+OD.Cantidad
FROM Products
JOIN (SELECT ProductID
, SUM(Quantity) AS Cantidad
FROM [Order Details]
WHERE OrderID=@OrdenID
GROUP BY ProductID) AS OD
ON Products.ProductID=OD.ProductID

DELETE [Order Details]
WHERE OrderID=@OrdenID

DELETE Orders
WHERE OrderID=@OrdenID
COMMIT
GO
= La parte mas compleja es la del UPDATE porque asumi que una Orden puede
vender varias veces el mismo producto entonces hay que agrupar.
Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda

"El principiante" wrote in message
news:
Hola a todos.

En un sistema de inventario al registrar una factura que tiene una lista


de
articulos y cantidades debo rebajar las existencias
en inventario, que es otra tabla indexada por un codigo. Tipico no ?

Si modifico la factura, tambien, debo mantener actualizada la tabla de
existencias.

Soy nuevo en SQL Server . Lo que he pensado es que al registrar los


datos
hacer un DELETE FROM de los registros existentes en la factura (los
articulos) para sumar las cantidades al archivo de existencias y luego


hacer
un INSERT INTO de los articulos de la factura actual para restar las
cantidades al archivo de existencias.

Mi pregunta es que debo hacer insertar acciones tanto despues de borrar


CADA
registro como despues de insertar CADA registro. Como hago eso ? Para


eso
son los triggers ??? Cuando ocurren los triggers , antes o despues de la
insercion o el borrado ?



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