From: | Miguel Miranda <mmiranda(at)123(dot)com(dot)sv> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Cast de Parametros? |
Date: | 2005-06-15 22:16:54 |
Message-ID: | 42B0A8D6.5040800@123.com.sv |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Patricio Muñoz wrote:
>
> Envia el cuerpo de la funcion, tal vez ahi este el problema :-)
> Donde utilizas el parametro $2 ?
>
Gracias Patricio, la funcion estaba equivocada (la verdad que no la pase
yo sino un colega :-)
Aqui esta ya corregido el orden de parametros, faltaba el $2
CREATE OR REPLACE FUNCTION provisonar_pines(varchar, integer, numeric,
date, integer)
RETURNS integer AS
$BODY$
DECLARE
/**
* funcion para activar pines en la plataforma nap,
* son pines de productos que se configuran despues de
* generados, ej: americatelcard
* Requisitos: que exista en tabla pines y
* este virgen (cod_estado = 0) y fecha_act sea NULL
*
*/
--parametos
pin alias for $1;
idplan alias for $2;
monto alias for $3;
fecha_exp_fija alias for $4;
promptid alias for $5;
existe_pin int;
BEGIN
--validaciones
SELECT INTO existe_pin COUNT(*)
FROM pines pin
WHERE pin.pin = pin
AND pin.fecha_act IS NULL
AND pin.cod_estado = 0;
IF NOT FOUND THEN
RETURN 1; --pin no activo o no asignado
END IF;
--si pin existe en alguna de las siguientes
--tablas, fue activado anteriormente
SELECT INTO existe_pin COUNT(*)
FROM usergroup usg
WHERE usg.username = pin;
IF FOUND THEN
RETURN 2;
END IF;
SELECT INTO existe_pin rc.username
FROM radcheck
WHERE username = pin;
IF FOUND THEN
RETURN 3;
END IF;
SELECT INTO existe_pin username
FROM radreply
WHERE username = pin;
IF FOUND THEN
RETURN 4;
END IF;
IF monto = 0 THEN
RETURN 5;
END IF;
IF promptid = 0 THEN
RETURN 6;
END IF;
--fin validaciones
UPDATE pines
SET pines.cod_estado = 1,
pines.idplan = idplan,
pines.monto = monto,
pines.fecha_exp_fija = fecha_exp_fija,
pines.fecha_act = CURRENT_DATE
WHERE pin = pin;
INSERT INTO usergroup (username,groupname)
VALUES (pin,'prepago');
INSERT INTO radcheck (username,attribute,op,value)
VALUES (pin,'User-Password','==', pin);
INSERT INTO radreply (username,attribute,op,value)
VALUES (pin,'h323-credit-amount','=','h323-credit-amount='||monto);
INSERT INTO radreply (username,attribute,op,value)
VALUES (pin,'h323-prompt-id','=','h323-prompt-id='||promptid);
RETURN 0;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
Igual me da el error que al principio.
---
Miguel
From | Date | Subject | |
---|---|---|---|
Next Message | Martín Marqués | 2005-06-15 22:17:42 | Re: Cast de Parametros? |
Previous Message | Miguel Miranda | 2005-06-15 21:58:36 | Re: Cast de Parametros? |