SQL Server - disparador en sql

 
Vista:

disparador en sql

Publicado por jose camilo (21 intervenciones) el 30/06/2014 17:39:21
hola, necesito hacer un disparador para actualizar la existencia en articulo tomando en cuanta las entradas y salidas otra tabla que guardo las transacciones.

desde cero, soy nuevo en esto

algun ejemplo o ayuda
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

disparador en sql

Publicado por Isaias (4558 intervenciones) el 30/06/2014 18:19:32
¿Disparador?, Te refieres a un TRIGGER?

De ser asi, puedes hacer un trigger para cuando exista una MOVIMIENTO en la tabla de INVENTARIO

¿Es eso lo que buscas?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

disparador en sql

Publicado por jose camilo (21 intervenciones) el 01/07/2014 00:44:51
si, estoy trabajando en sql server 2005.
tengo esto pero al tratar de utilizar inserted me da un error al momento de ejecucion

** lo tengo con un solo articulo para prueba


USE [JJSYSTEM2009.MDF]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[Articulo_Act]
ON [dbo].[ArtDet]
AFTER INSERT,DELETE,UPDATE
AS
BEGIN
SET NOCOUNT ON;

UPDATE ARTICULO
SET ENTRADA = (Select entrada from artdet where articulo = inserted.articulo);

END
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

disparador en sql

Publicado por Isaias (4558 intervenciones) el 01/07/2014 18:23:16
En lo personal (en gustos se rompen generos), no me gusta tu código pero, debería verse mas o menos asi:

SET ENTRADA = (Select entrada from artdet join inserted on artdef.articulo = inserted.articulo);

Te hago la OBSERVACION que en INSERTED, puedes tener MAS DE UN REGISTRO, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Wilfredo Patricio Castillo
Val: 268
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

disparador en sql

Publicado por Wilfredo Patricio Castillo (189 intervenciones) el 02/07/2014 06:33:47
Y porqué tienes el AFTER INSERT,DELETE,UPDATE?
No dices que es para cuando insertes?, osea que si borras también agregas?.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

disparador en sql

Publicado por jose daniel camilo (21 intervenciones) el 04/07/2014 05:21:13
gracias a todos por la ayuda, con sus ejemplos, logue lo que buscaba.

hice algunos pequenos cambios pero solo es cuestion de gusto. por otro lado no utilizo borrar de una base de datos, cambio status y ya.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar