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

¿For en Postgres?

Estas en el tema de ¿For en Postgres? en el foro de PostgreSQL en Foros del Web. Hola... Esta vez tengo un problema para poder crear una función en la que pueda hacer un ciclo Pensé en hacerlo con un for pero ...
  #1 (permalink)  
Antiguo 26/06/2009, 09:27
Avatar de Beuses  
Fecha de Ingreso: marzo-2009
Ubicación: Maracaibo
Mensajes: 132
Antigüedad: 15 años, 1 mes
Puntos: 5
Pregunta ¿For en Postgres?

Hola...

Esta vez tengo un problema para poder crear una función en la que pueda hacer un ciclo

Pensé en hacerlo con un for pero no estoy segura de que trabaje de la misma forma

en la que siempre he trabajado... :S


Traté de hacerlo de esta forma ya que es lo que quiero que haga.
Código PHP:
--p_idsolicitud es un parametro que estoy enviando.
declare
v_i integer;
v_num integer;
v_idproducto integer;

SELECT INTO v_num count(idFROM tbl_solicitud_producto
WHERE id_solicitud 
p_idsolicitud;

FOR (
v_i=0v_i<v_numv_i++)
{
    
SELECT INTO v_idproducto id_producto FROM tbl_solicitud_producto
    WHERE id_solicitud 
p_idsolicitud;
    
INSERT INTO tbl_cupo (id_resgistro,id_producto,cupo)
    
values (v_idregistro,v_idproducto,1000);

Aun no soy experta en esto y si puedieran ayudarme...

Les agradeceria muchisimo...
  #2 (permalink)  
Antiguo 26/06/2009, 10:25
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: ¿For en Postgres?

Beuses.

La sintaxis correcta del for en una función plpgsql es:

Código sql:
Ver original
  1. FOR v_i IN 0..v_num
  2. loop
  3.  
  4. --Contenido del for
  5.  
  6. END loop;

Un saludo.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 29/06/2009, 08:09
Avatar de Beuses  
Fecha de Ingreso: marzo-2009
Ubicación: Maracaibo
Mensajes: 132
Antigüedad: 15 años, 1 mes
Puntos: 5
De acuerdo Respuesta: ¿For en Postgres?

Muchisimas Gracias huesos52!!!

Mi for dentro de la función que cree quedo así para el que lo necesite:

Código PHP:
--p_idsolicitud es un parametro que estoy enviando.
declare
v_i integer;
v_num integer;
v_idproducto integer;
v_hp integer;
v_horas integer;
v_dias integer;
v_idregistro integer;
v_formula integer;


select into v_num count(idfrom tbl_solicitud_producto
where id_solicitud 
p_idsolicitud;

FOR 
v_i IN 1..v_num
loop
     v_formula 
:=0;
     
select into v_idproducto id_producto from tbl_solicitud_producto
     where id_solicitud 
p_idsolicitud;
     
        
v_formula=(v_hp*v_horas*v_dias*180)/1000;
        
insert into tbl_cupo (id_registro,id_producto,cupo)
        
values (v_idregistro,v_idproducto,v_formula);
     
end loop
Muchas gracias nuevamente
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




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