Ver Mensaje Individual
  #16 (permalink)  
Antiguo 04/11/2009, 08:17
Avatar de huesos52
huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 3 meses
Puntos: 360
Respuesta: commit en postgres

Un ejemplo de una función

Código sql:
Ver original
  1. CREATE OR REPLACE FUNCTION multiplicar(INTEGER,INTEGER)
  2.   RETURNS INTEGER AS
  3. $BODY$
  4. DECLARE
  5. resultado INTEGER;
  6. BEGIN
  7. resultado:=$1*$2;
  8. RETURN resultado;
  9. END;
  10. $BODY$
  11.   LANGUAGE 'plpgsql' VOLATILE;

si la ejecutas:
Código sql:
Ver original
  1. pruebas=> SELECT multiplicar(4,5);
  2.  multiplicar
  3. -------------
  4.           20
  5. (1 fila)

Un ejemplo de función con for.
Código sql:
Ver original
  1. CREATE OR REPLACE FUNCTION sumar_dias_a_fecha(DATE,INTEGER)
  2.   RETURNS DATE AS
  3. $BODY$
  4. DECLARE
  5. fecha_final DATE;
  6. contador INTEGER;
  7. BEGIN
  8. fecha_final=$1;
  9. FOR contador IN 1..$2
  10. loop
  11.  fecha_final = fecha_final + 1;
  12. END loop;
  13. RETURN fecha_final;
  14. END;
  15. $BODY$
  16.   LANGUAGE 'plpgsql' VOLATILE;

Si lo corremos
Código sql:
Ver original
  1. pruebas=> SELECT sumar_dias_a_fecha('2009-11-04'::DATE,5);
  2.  sumar_dias_a_fecha
  3. --------------------
  4.  2009-11-09
  5. (1 fila)

le suma 5 días a una fecha.

Espero esta sea una base para que logres tu objetivo
__________________
Without data, You are another person with an opinion.
W. Edwads Deming