Re: valor devuelto por funtion incorrecto(siempre el mismo)

From: Cesar Erices <caerices(at)gmail(dot)com>
To: suso <jlcubas(at)terra(dot)es>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: valor devuelto por funtion incorrecto(siempre el mismo)
Date: 2009-09-07 14:28:05
Message-ID: 1cb5d9840909070728u20900f76r5f24a992a2bf6aa@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

El 7 de septiembre de 2009 10:17, suso <jlcubas(at)terra(dot)es> escribió:

> Hola Cesar, de esa manera no obtengo el valor de retorno, puedo obtener
> cualquier datos del recordset, pero no un return false o true o el que sea,
> es correcto?
>

No, la funcion se delara por ejemplo

CREATE OR REPLACE FUNCTION cl_paciente_inserta(mpc_cod character varying,
.....)
RETURNS bigint AS
$BODY$

BEGIN
--***************************************
--INSERTA LOS REGISTROS
--TABLA PACIENTE
--***************************************
INSERT INTO pacientes(
pc_cod, ....
)
VALUES (
mpc_cod, ....
);

IF NOT FOUND THEN
RAISE EXCEPTION 'Error al Tratar de Insertar un NUEVO Registro
((%))', mpc_nombre;
RETURN 0;
END IF;

--DEVUELVE EL CODIGO DE LA PERSONA INGRESADA, QUE LE ASIGNA EL SISTEMA

RETURN currval('pacientes_pc_id_seq');

END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100;

y de visual basic la llamas

>
>>
>> sql = "SELECT * FROM cl_paciente_inserta(parametro1, parametro2,...)
>>
>> Set RsTemp = New ADODB.Recordset
>>
>> RsTemp.Open sql, Base, adOpenKeyset, _
>> adLockOptimistic, adCmdText
>>
>> If Not (RsTemp.EOF And RsTemp.BOF) Then variablequetomaRetorno =
>> rstemp(0)
>>
>
>>
>> Set RsTemp = Nothing
>
>

--
Sin más que decir se despide de Usted, muy atentamente

Cesar Erices Vergara
Ingeniero en Gestión Informática
Analista de Sistema

Santiago - Chile

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Iván Caballero Cano 2009-09-07 14:43:24 Alguna orientación respecto a la codificación?
Previous Message suso 2009-09-07 14:17:39 Re: valor devuelto por funtion incorrecto(siempre el mismo)