Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Crear un TRIGGER (https://www.clubdelphi.com/foros/showthread.php?t=76664)

adls65 17-11-2011 02:29:38

Crear un TRIGGER
 
Hola, estoy teniendo seguido el problema de NO SE PUEDE ENCONTRAR LA FILA PARA SU ACTUALIZACION ...... etc. y buscando encontre aqui mismo a una persona que sugeria el uso de los TRIGGER, no se como implementarlos, lo ocupo para modificar un campo (p.e. update articulos set Existencia = existencia - cantidad a rebajar) asi de sencillo.

Muchas Gracias de Antemano.

Perdon estoy usando SQL SERVER 2000 y DELPHI 6.

Delphius 17-11-2011 04:29:19

Cita:

Empezado por adls65 (Mensaje 418676)
Hola, estoy teniendo seguido el problema de NO SE PUEDE ENCONTRAR LA FILA PARA SU ACTUALIZACION ...... etc. y buscando encontre aqui mismo a una persona que sugeria el uso de los TRIGGER, no se como implementarlos, lo ocupo para modificar un campo (p.e. update articulos set Existencia = existencia - cantidad a rebajar) asi de sencillo.

Muchas Gracias de Antemano.

Perdon estoy usando SQL SERVER 2000 y DELPHI 6.

¿El problema de que? ¿etc? ¿Que es ese etc?

Si te explicas apropiadamente quizá podríamos dejar de invocar al oráculo de Delphos para intentar adivinar que c*** necesitas.
Con todo respeto, no queda nada claro cuál es tu problema, ni que es lo que estás haciendo.
¡Explícate!

Saludos,

Casimiro Notevi 17-11-2011 10:24:28

Bienvenido a clubdelphi, adls65, ¿ya leiste nuestra guía de estilo?, gracias por tu colaboración.

abelg 17-11-2011 14:27:07

Mira esto, espero te sirva.
Código SQL [-]
create trigger NuevoDetalle on Detalles for insert as
begin
    if @@RowCount = 1
      update Articulos
      set Pedidos = Existencias - Cantidad
      from Inserted
      where Articulos.Codigo = Inserted.RefArticulo
    else
      update Articulos
      set Pedidos = Existencias -
          (select sum(Cantidad)
          from Inserted
          where Inserted.RefArticulo=Articulos.Codigo)
      where Codigo in
        (select RefArticulo
        from Inserted)
end
La variable global predefinida @@RowCount indica cuántas filas han sido afectadas por la última operación

Salu2

adls65 17-11-2011 15:43:28

hola, gracias por la atencion.
lo que pasa es que mi codigo esta actualmente asi:
Código Delphi [-]
while not(qDetalle.eof) do begin
   qarticulo.edit;
   qarticuloexistencia.value:=qarticuloexistencia.value-qdetallecantidad.value;
   qarticulo.post;
   qdetalle.next;
end;

y como son 5 usuarios que estan efectuando ese proceso (VENTAS) es cuando me esta ocurriendo el error. entonces quisiera que ese proceso (rebajar las existencias) efectuarlo mediante un trigger.

Espero ser un poco mas explicito.

Muchas gracias.

ecfisa 17-11-2011 15:50:50

Hola adls65.

Por favor, cuando pongas código encierralo entre los TAG's que correspondan:



Saludos y gracias por tu colaboración.


La franja horaria es GMT +2. Ahora son las 02:05:36.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi