Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

Insert condicionado en Postgres

Estas en el tema de Insert condicionado en Postgres en el foro de PostgreSQL en Foros del Web. Buenas tardes. Tengo una tabla de la siguiente forma: Código: -------------------------------------- | Bodega | Producto | Cantidad | -------------------------------------- | 1 | 145 | 15 ...
  #1 (permalink)  
Antiguo 15/07/2011, 16:20
 
Fecha de Ingreso: enero-2010
Ubicación: Soledad-Atlántico
Mensajes: 21
Antigüedad: 9 años, 9 meses
Puntos: 1
De acuerdo Insert condicionado en Postgres

Buenas tardes.

Tengo una tabla de la siguiente forma:

Código:
--------------------------------------
|  Bodega  |  Producto  | Cantidad  |
--------------------------------------
|     1      |    145    |     15      |
--------------------------------------
|     2      |    123    |       8     |
--------------------------------------
|     1      |      55    |       3    |
--------------------------------------
Al ingresar más productos a las bodegas necesito que actualice la cantidad si la combinación bodega-producto existe o crear un nuevo registro si no existe.

Ejemplo:
Si deseo ingresar 3 unidades del producto 55 a la bodega 1 debería actualizarme la tercera fila dejando la cantidad con valor de 6. En cambio si deseo ingresar 2 unidades del producto 123 a la bodega 1 deberia insertar un nuevo registro ( bodega:1,producto:123,cantidad:2).

Gracias.
  #2 (permalink)  
Antiguo 16/07/2011, 00:20
 
Fecha de Ingreso: mayo-2009
Mensajes: 31
Antigüedad: 10 años, 4 meses
Puntos: 1
Respuesta: Insert condicionado en Postgres

Yo tengo la misma duda. ¿Alguien sabe cómo hacerlo?
  #3 (permalink)  
Antiguo 17/07/2011, 10:01
Avatar de tlaloc_2005  
Fecha de Ingreso: diciembre-2005
Ubicación: Barranquilla
Mensajes: 90
Antigüedad: 13 años, 9 meses
Puntos: 5
Información Respuesta: Insert condicionado en Postgres

Buen día,

Bueno no manejo postgres, pero cuando se me presenta problemillas como el que mencionan aqui suelo utilizar funciones y disparadores (triggers) en mysql.

Las funciones son pedazos de codigo, que funcionan al igual que en la programacion estructurada, reciben parametros, ejecutan acciones y devuelven un valor. Aqui algunos ejemplos:

http://saforas.wordpress.com/2009/11...en-postgresql/

Los disparadores o triggers son como su nombre lo indica son algo así como una especie de funciones de activacion que acompañan a una tabla y que se ejecutan cuando se realiza una accion sobre la tabla (INSERT, UPDATE, DELETE), Aqui mas info:

http://www.postgresql.org.es/node/301

La opción seria colocar un triggers en tu tabla que se ejecute cuando se realice un INSERT sobre ella y que llame una función que haga lo que tu quieres hacer y te guarde el valor en la tabla.

Espero haberlos ayudado...
__________________
Johan J. Gutierrez D.
Ingeniero Industrial, Tecnologo en Sistemas
  #4 (permalink)  
Antiguo 18/07/2011, 07:19
 
Fecha de Ingreso: mayo-2009
Mensajes: 31
Antigüedad: 10 años, 4 meses
Puntos: 1
Respuesta: Insert condicionado en Postgres

¿Alguien podría hacer una de estas funciones de ejemplo que solucione el problema mencionado?, es que no entiendo bien como se hacen
  #5 (permalink)  
Antiguo 18/07/2011, 07:48
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 10 años, 8 meses
Puntos: 360
Respuesta: Insert condicionado en Postgres

tal como lo dice tlaloc_2005 la solución a esto es hacer triggers.

en Internet hay infinidad de ejemplos.
Cuando tengan preguntas mas concretas, no duden en postearlas.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #6 (permalink)  
Antiguo 18/07/2011, 09:22
 
Fecha de Ingreso: mayo-2009
Mensajes: 31
Antigüedad: 10 años, 4 meses
Puntos: 1
Respuesta: Insert condicionado en Postgres

He consultado sobre el tema, y he leído que los Trigger se activan al hacer Insert, Update y Delete. En este caso necesitaría primero consultar para saber en qué casos debo insertar y en qué casos actualizar. ¿Cómo se haría eso?
  #7 (permalink)  
Antiguo 18/07/2011, 10:39
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 10 años, 8 meses
Puntos: 360
Respuesta: Insert condicionado en Postgres

desde tu sistema debes saber si quieres insertar, borrar o actualizar
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #8 (permalink)  
Antiguo 19/07/2011, 10:20
 
Fecha de Ingreso: enero-2010
Ubicación: Soledad-Atlántico
Mensajes: 21
Antigüedad: 9 años, 9 meses
Puntos: 1
Respuesta: Insert condicionado en Postgres

Gracias por responder,

Ya está solucionado utilizando trigger como comentó tlaloc_2005. Muchas gracias ;)
  #9 (permalink)  
Antiguo 21/11/2011, 14:44
 
Fecha de Ingreso: noviembre-2011
Mensajes: 2
Antigüedad: 7 años, 10 meses
Puntos: 0
Respuesta: Insert condicionado en Postgres

hola tengo el mismo problema podrìas ayudarme con un ejemplo.

Gracias

Etiquetas: condición, condicionada, funcion, insert
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 05:17.