El día 28 de noviembre de 2009 11:28, suso <[email protected]> escribió:
> Hola Emanuel
>>
>> 2009/11/27 suso <[email protected]>:
>>>
>>> Hola de nuevo, por favor, a ver si alguien me puede decir pq no funciona
>>> ésta consulta, incluso si la ejecuto dede pgadmin, postgres 8.4 y windows
>>> xp.
>>>
>>> select count(*) into devuel from clientes where apell like '" || apelli
>>> ||
>>> "%'
>>>
>>> select count(*) into devuel from clientes where apell like 'P%'
>>>
>>> Esto si funciona, si hago su "equivalente" desde vb6 va sin problemas.
>>> Otros colisteros me han dicho variantes, pero ninguna va.
>>> por ejemplo:
>>>
>>> select count(*) into devuel from clientes where apell like '" & apelli &
>>> "%'
>>> select count(*) into devuel from clientes where apell like ' & apelli &
>>> %'
>>> select count(*) into devuel from clientes where apell like ' apelli & %'
>>> Este tipo de cosas
>>>
>>
>> Si apelli es una columna, hay algo mal en la composición de la expresión.
>
> apelli es una valor que le paso a la function, voy a poner el código
> completo
>
> CREATE OR REPLACE FUNCTION cont_reg(apelli character varying)
> RETURNS integer AS
> $BODY$
>
> DECLARE
> devuel integer;
> BEGIN
> if apelli is not null THEN
> select count(*) into devuel from pacientes where apell like '" || apelli ||
> "%';
la cadena contiene ' ?
> end if;
>
> if found then
> return devuel;
> else
> return 0;
> end if;
> END;
>
> $BODY$
> LANGUAGE 'plpgsql' VOLATILE
> COST 100;
> ALTER FUNCTION cont_reg(character varying) OWNER TO postgres;
>>
>> Podrías mostar el registro que supuestamente te debería devolver?
Aún esperamos el registro ;)
--
Emanuel Calvo Franco
DBA at: www.siu.edu.ar
www.emanuelcalvofranco.com.ar
--
TIP 2: puedes desuscribirte de todas las listas simult�neamente
(env�a "unregister TuDirecci�nDeCorreo" a [email protected])