FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Actualizar existencia de productos e insertar nuevos si no se encuentran
Saludos, Uso delphi 7 y mysql 4.0 con los componentes zeos.
Mi problema es el siguiente: Tengo una tabla de productos y voy a actualizar su existencia en base a un dbgrid que que contiene otrosproductos, lo hago con un simple update de la siguiente manera: update productos set exis=exis+otrosproductos.cant where idproducto=otrosproductos.idproducto funciona bien, pero ¿Como le hago para que los productos que no encuentre en la tabla productos los inserte en esa tabla (productos)? O sea los que esten en la tabla otrosproductos y en la tabla productos solo sea actualizada su existencia, Y los que esten en la tabla otrosproductos pero NO en la tabla productos sean agregados a ella. Gracias por la ayuda que puedan brindarme. |
#2
|
|||
|
|||
Hola
Si los productos estan identificados de igual modo en las dos tablas, puedes utilizar la sentencia "INSERT" para intentar insertar cualquier artículo cada vez que vas a actualizar existencias. Si intentas insertar un articulo que ya existe el "INSERT" dara un error y no lo insertará en caso contrario lo añadirá. Esta solución tiene el problema de que mandas un montón de sentencias "INSERT" que no valen para nada. También puedes consultar si existe o no el artículo antes de actualizar las existencias y añadirlo en caso de que no exista. Por último, podrías actualizar las dos tablas a la vez, es decir, cuando añadas un nuevo artículo, hazlo en las dos tablas, con lo que te aseguras que siemper tendrán los mísmos artículos. Espero que te sirva de algo |
#3
|
||||
|
||||
Creo que en mysql no tenemos el maravilloso insert ... into ... from [Select]
y ya tienes un dataset para recorrer e insertar
__________________
todo el mundo debe creer en algo... yo creo que voy a tomarme otra copa. |
#4
|
|||
|
|||
Gracias, voy a probar sus sugerencias a ver que tal queda.
|
#5
|
|||
|
|||
#6
|
|||
|
|||
ok, gracias, supongo que debe de aceptar restricciones where, voy a probar.
|
|
|
|