Ir al contenido


Foto

Como hago un insert a una tabla y si se ejecuta entonces agregar datos a otra


  • Por favor identifícate para responder
4 respuestas en este tema

#1 edchar

edchar

    Member

  • Miembros
  • PipPip
  • 20 mensajes

Escrito 25 enero 2013 - 10:14

Hola amigos estoy haciendo un procedimiento almacenado Y necesito de nuevo de su ayuda, pues sigo aprendiendo.

El asunto es que estoy haciendo un insert into a una tabla por ej:

insert into tbl_abono (.., .., etc) values (.., .., etc)


Y necesito que si ese Insert Into se ejecuto sin problemas entonces actualice o agregue datos a otra tabla por Ej.

update tbl_apartado
      set totabono = tbl_apartado.totabono + :mtoabono
      where (numapart = :numapartfind);


O sea que el segundo insert o update se ejecute solo si el primer insert se ejecuto correctamente.

Muchas Gracias y Saludos
  • 0

#2 Sergio

Sergio

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1.092 mensajes
  • LocationMurcia, España

Escrito 26 enero 2013 - 04:48

Si quieres mantener un sumatorio actualizado, tienes que poner un trigger "after insert or update" en esa tabla, de forma que cuando un registro se añada, se suma new.cantidad, pero si no estas "inserting" si no "updating", entonces usarías total = total - old.cantidad + new.cantidad

Ah! Me olvide, on delete se lo restarias, claro!
  • 0

#3 edchar

edchar

    Member

  • Miembros
  • PipPip
  • 20 mensajes

Escrito 26 enero 2013 - 11:57

Ok ya entendi, no pongo todo en el procedimiento sino en trigger y este procesara el resto del código que agregara los datos a las otras tablas, lo voy a probar.

Muchas gracias Sergio por tu ayuda.

Si no nos dan una mano a los que estamos aprendiendo se nos hace mas difícil el aprendizaje.


Saludos
  • 0

#4 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 26 enero 2013 - 02:08

Hola,
No lo he probado pero también se podría capturar el error, si lo hubo, al leer la variable de contexto sqlcode. Tal como se describe aquí;)

Saludos,
  • 0

#5 edchar

edchar

    Member

  • Miembros
  • PipPip
  • 20 mensajes

Escrito 26 enero 2013 - 08:14

Gracias de nuevo Delphius, agradezco tu ayuda y comentarios.

Saludos
  • 0




IP.Board spam blocked by CleanTalk.