viernes, 10 de septiembre de 2010

Postgres : Funcion con Array

CREATE OR REPLACE FUNCTION general.pasa_array(varchar)
RETURNS character varying AS
$BODY$declare
matriz INTEGER[];
xresult varchar;
xcont integer;
xelementos integer;
xcadena varchar;
begin
xcont = 0;
xelementos=0;
xcadena=$1;
xresult='';
loop
matriz[xcont]=cast(substring(xcadena,1, case when position(',' in xcadena)=0 then char_length(xcadena) else position(',' in xcadena)-1 end)as integer);
RAISE NOTICE 'matriz: %', matriz[xcont];
xcadena=substring(xcadena,case when position(',' in xcadena)=0 then char_length(xcadena) else position(',' in xcadena) end+1, char_length(xcadena));
RAISE NOTICE 'Cadena: %', xcadena;
xelementos=xelementos+1;
xcont = xcont + 1;
if char_length(xcadena)=0 then
exit;
end if;
end loop;

xcont = 0;
RAISE NOTICE 'matriz: %', matriz[xcont];
--xresult = matriz[1];
loop
RAISE NOTICE 'matriz 2: %', matriz[xcont];
xresult = xresult || chr(matriz[xcont]);
RAISE NOTICE 'xresult --> %', xresult;
xcont = xcont + 1;
if matriz[xcont] is null then
exit; -- exit loop
end if;
end loop;


return xresult;

end;$BODY$
LANGUAGE 'plpgsql' VOLATILE;

select general.pasa_array('65,66')

select general.pasa_array('89,97,32,113,117,101,109,97,115,116,101,32,98,114,111,116,104,101,114')

Continúa...

jueves, 2 de septiembre de 2010

La Donación de mis órganos por Camilo Jose Cela (Premio Nobel de Literatura del año 1989)

Que se los den a cualquiera.
Si hay un paciente que espera
por lo que yo ofrezco aquí
espero que se haga así
para salvar una vida.
Si ya no puedo respirar,
que otro respire por mí.

Donaré mí corazón
para algún pecho cansado
que quiera ser restaurado
y entrar de nuevo en acción.

Hago firme donación
y que se cumpla confío
antes de sentirlo frío,
roto, podrido y maltrecho
que lata desde otro pecho
si ya no late en el mío.

La pinga la donaré
y que se la den a un caído
y levante poseído
el vigor que disfruté.


Pero pido que después
se la pongan a un jinete,
de esos que les gusta brete.
Eso sería gran cosa:
yo descansando en fosa
y mi pinga dando fuerte.

Entre otras donaciones
me niego a donar la boca.
Pues hay algo que me choca
por poderosas razones.
Sé de quien en ocasiones
habla mucha bobería;
mama lo que no debía
y prefiero que se pierda
antes que algún comemierda
mame con la boca mía.

El culo no lo donaré
pues siempre existe un confuso
que pueda darle mal uso
al culo que yo doné.
Muchos años lo cuidé
lavándomelo a menudo.
Para que un cirujano chulo
en dicha transplantación
se lo ponga a un maricón
y muerto me den por el culo.

Continúa...